cbys.net
当前位置:首页 >> DB2 CAsE >>

DB2 CAsE

select case when 条件 then 结果 else 其他结果 end from tablename;

逻辑写的有问题 when 后面是一个判断表达式 然后是then 结果 你可以参考一下我写的这个逻辑 SELECT CASE WHEN (CASE WHEN 2>1 THEN 1 ELSE 0 END)=1 THEN (CASE WHEN (CASE WHEN 2>1 THEN 1 ELSE 0 END)1 THEN 1 ELSE 0 END) END

1、每条记录都需要多执行一次case when 2、第2次执行时数据可能已经被缓存 可以先执行select * from A where keyno='1' 然后执行 select case when ....与 select function1(para) ...,以消除缓存影响,或者每次执行前消除缓存(db2没怎么用过...

这么明显

你应该这样写 select * from 表 where 1=1 and (case when a=1 then a when 表.字段='asdfasdf' then b end)='值

select CNAME=case when CNAME is null then '456' else '123' end from SMPTEL where SMPTEL.Newtel='158' union all select '456' where not exists(select 1 from smptel where newtel='158' 如果是oracle就在where前加上from dual,如果是db...

可以的,group by后边整个条件 就是列: CASE country WHEN'中国' THEN'亚洲' WHEN'印度' THEN'亚洲' WHEN'日本' THEN'亚洲' WHEN'美国' THEN'北美洲' WHEN'加拿大' THEN'北美洲' WHEN'墨西哥' THEN'北美洲' ELSE'其他'END

1、每条记录都需要多执行一次case when 2、第2次执行时数据可能已经被缓存 可以先执行select * from A where keyno='1' 然后执行 select case when ....与 select function1(para) ...,以消除缓存影响,或者每次执行前消除缓存(db2没怎么用过...

SELECT MAX(CASE month WHEN '201201' THEN acount ELSE null END) AS '201201', MAX(CASE month WHEN '201202' THEN acount ELSE null END) AS '201202' , MAX(CASE month WHEN '201203' THEN acount ELSE null END) AS '201203' FROM (你的这...

我这里'' 和null是不一样的.db2可以区分的 insert into tab values(1,'JACK','0001','2000'); insert into tab values(2,'TOM','0002',''); insert into tab values(3,'LUCY','0003','3000'); insert into tab values(4,'JAME','0004',''); inse...

网站首页 | 网站地图
All rights reserved Powered by www.cbys.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com