oracle中 case when,Oracle CASE WHEN的用法
CASE WHEN的两种表达形式:方式一:CASEWHEND10='成功签收'THEN1WHEND11='成功签收'THEN1ELSENULLENDWHEN中间是用判断表达式方式二:CASED10WHEN'成功签收'THEN1WHEN'运输途中'THEN2ELSE'其他状态'END方式一适合对一条记录中的多列进行判断。方式二适合对一列中的多个条记录进行判断。...
CASE WHEN的两种表达形式:方式一:
CASE
WHEN D10='成功签收' THEN 1
WHEN D11='成功签收' THEN 1
ELSE NULL END
WHEN 中间是用判断表达式
方式二:
CASE D10
WHEN '成功签收' THEN 1
WHEN '运输途中' THEN 2
ELSE '其他状态' END
方式一适合对一条记录中的多列进行判断。
方式二适合对一列中的多个条记录进行判断。
CASE WHEN在不同语句位置的用法
SELECT CASE WHEN 用法SELECT COUNTRY,
COUNT(CASE WHEN D10 = '成功签收' THEN 1 ELSE NULL END) D10,
COUNT(CASE WHEN D11 = '成功签收' THEN 1 ELSE NULL END) D11,
COUNT(CASE WHEN D12 = '成功签收' THEN 1 ELSE NULL END) D12,
COUNT(CASE WHEN D13 = '成功签收' THEN 1 ELSE NULL END) D13,
COUNT(CASE WHEN D14 = '成功签收' THEN 1 ELSE NULL END) D14,
COUNT(CASE WHEN D15 = '成功签收' THEN 1 ELSE NULL END) D15
FROM ......
WHERE CASE WHEN 用法SELECT * FROMWHERE(CASE
WHEN expr1 = 'search1' AND expr2 IN ('search2', 'search3') THEN
1
WHEN expr3 IN ('search4', 'search5') THEN
2
ELSE
0
END) = 1
GROUP BY CASE WHEN 用法SELECT CASE
WHEN SALARY <= 500 THEN
'1'
WHEN SALARY > 500 AND SALARY <= 600 THEN
'2'
WHEN SALARY > 600 AND SALARY <= 800 THEN
'3'
WHEN SALARY > 800 AND SALARY <= 1000 THEN
'4'
ELSE NULL END SALARY_CLASS,
COUNT(*)
FROM SALARY GROUP BY CASE
WHEN SALARY <= 500 THEN
'1'
WHEN SALARY > 500 AND SALARY <= 600 THEN
'2'
WHEN SALARY > 600 AND SALARY <= 800 THEN
'3'
WHEN SALARY > 800 AND SALARY <= 1000 THEN
'4'
ELSE NULL END;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)