• 主页
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流

PL\SQL的问题,case when怎么用?

antivence 2004-04-29 10:40:11
在8.16以后版本好像都支持case when的用法,比如:SELECT CASE WHEN YSPZ_JZFX='J' THEN YSPZ_JE ELSE 0 END FROM ZKYSPZ;
但是到了8.15的版本上,这条语句就不好使的。

高手们帮帮忙,看看怎么才能通过呀?8.15的怎么使用?
...全文
1851 点赞 收藏 9
写回复
9 条回复
bzszp 2004年04月29日
select decode(sign(yspz_pzrq-11111111),1,1,0) from tbname;
回复 点赞
dinya2004 2004年04月29日
楼主注意:
case是9i以后的版本才支持的/
8 版本就要用decode 等其他函数来实现了,
回复 点赞
antivence 2004年04月29日
那如果是比较大小的怎么办,如case when YSPZ_PZRQ > '11111111' then 1 else 0 end
回复 点赞
bzszp 2004年04月29日
8i不行,9i可以
9i增加的东西还是挺多的
回复 点赞
ern 2004年04月29日
case when在oracle里可以的,请楼上看看最新的文档
回复 点赞
Lulq21cn 2004年04月29日
case when是T sql的语法,pl sql 是没有这个语法的
回复 点赞
lonking 2004年04月29日
本人在中石化资金项目中有个姓刘的同事遇到过此问题,解决如下:
1、select decode(列名或变量,'01',1,0) from t_b;

2、select decode(列名或变量,'01', '30000',
'02', '90000',
'03', '80000' ) from t_b;

给分ba !!
回复 点赞
ern 2004年04月29日
9i开始支持case when的吧,不记得了
用楼上的decode可以解决
回复 点赞
bzszp 2004年04月29日
select decode(upper(yspz_jzfx),'J',yspz_je,0) from zkyspz;
回复 点赞
发动态
发帖子
Oracle
创建于2007-09-28

6417

社区成员

5.4w+

社区内容

Oracle开发相关技术讨论
社区公告
暂无公告