DECODE()的参数可不可以是逻辑表达式?

jukyy 2003-12-15 05:25:32
DECODE的参数可不可以写成下面这个样子:
DECODE(A.score>60,true,sum(A.id),NULL) 或者
DECODE(A.name like '%明%',true,count(*),NULL)

...全文
275 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdkkk 2003-12-16
  • 打赏
  • 举报
回复
用case吧
jukyy 2003-12-16
  • 打赏
  • 举报
回复
就是说不行的了。
yfjyz 2003-12-15
  • 打赏
  • 举报
回复
不行,如果数据库是9i的,可以用when case表达式
beckhambobo 2003-12-15
  • 打赏
  • 举报
回复
sum(decode(sign(A.score,60),1,a.id,0))
sum(decode(instr(a.name,'明'),0,0,1))
chanet 2003-12-15
  • 打赏
  • 举报
回复
可以这样子:

select decode((select tabtest.id from tabtest where rownum<=1),
'1','1','null')
from tabtest;

返回一行就可以.但要明确返回值.
jukyy 2003-12-15
  • 打赏
  • 举报
回复
编译通过不了,是不是不可以呀?
freddy2003 2003-12-15
  • 打赏
  • 举报
回复
应该可以的
我查了一下Decode中的参数是表达式, 我想应可以的
伍子V5 2003-12-15
  • 打赏
  • 举报
回复
你试一下不就知道了
应该是不行吧

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧