比如select count(case when nvl(num,0) > 0 then 1) from tablename;
或者select count(1) from tablename where nvl(num,0) >0
这两个句子有区别吗?
case when 条件和where 条件的区别
答案:1 悬赏:70 手机版
解决时间 2021-01-24 04:50
- 提问者网友:杀手的诗
- 2021-01-23 10:02
最佳答案
- 五星知识达人网友:平生事
- 2021-01-23 11:15
select * from 表 where 1=1 and (case when a=1 then a when 表.字段='asdfasdf' then b end)='值
ase when 变量a='provider' then 'cp.id' else {1} end
这就不是判断语句,这是赋值语句,where不能在后面
SQL code
?
1
2
3
4
SELECt CK.RESPERSON AS NAME
FROM CP_KPI_INFO_FY CK, CP_DIM_PROVIDER CP
WHERe CK.PROVIDERID = CP.ID
AND CP.ID = case when 变量a='provider' then 'cp.id' else '{1}' end;
ase when 变量a='provider' then 'cp.id' else {1} end
这就不是判断语句,这是赋值语句,where不能在后面
SQL code
?
1
2
3
4
SELECt CK.RESPERSON AS NAME
FROM CP_KPI_INFO_FY CK, CP_DIM_PROVIDER CP
WHERe CK.PROVIDERID = CP.ID
AND CP.ID = case when 变量a='provider' then 'cp.id' else '{1}' end;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯