case when 为空时如何处理
时间:2011-12-28
来源:互联网
WHEN '' IS NULL THEN 222
ELSE 0
END
FROM DUAL;
这条语句可以正常执行 ,但是下面这条语句就无法正常执行了,请大虾指点
(case receive_detail.USER_DEFINED_03 --列名
when 'NORMAL' then 'Good'
when 'BAD' then 'Damaged'
when '' is null then '/'
else receive_detail.USER_DEFINED_03
end) as status,
作者: logive 发布时间: 2011-12-28
when 'NORMAL' then 'Good'
when 'BAD' then 'Damaged'
when null then '/'
else receive_detail.USER_DEFINED_03
end) as status
作者: rfb0204421 发布时间: 2011-12-28
(case receive_detail.USER_DEFINED_03 --列名
when 'NORMAL' then 'Good'
when 'BAD' then 'Damaged'
when null then '/'
else receive_detail.USER_DEFINED_03
end) as status
但是这样达不到想要的效果 ,即空值还是没有被替换成 ‘/’
作者: logive 发布时间: 2011-12-28
(case when receive_detail.USER_DEFINED_03 ='NORMAL' then 'Good' when receive_detail.USER_DEFINED_03 ='BAD' then 'Damaged' when receive_detail.USER_DEFINED_03 is null then '/' else receive_detail.USER_DEFINED_03 end) as status
作者: xpingping 发布时间: 2011-12-28
SQL code
(case when receive_detail.USER_DEFINED_03 ='NORMAL' then 'Good'
when receive_detail.USER_DEFINED_03 ='BAD' then 'Damaged'
when receive_detail.USER_DEFINED_03 is null then '/'
else receive_d……
这个写法 运行时会报错:ORA-00905: missing keyword
作者: logive 发布时间: 2011-12-28
--为何不用decode函数呢? decode(receive_detail.USER_DEFINED_03,'NORMAL','Good', 'BAD','Damaged', '','/', receive_detail.USER_DEFINED_03) as status
作者: BOBO12082119 发布时间: 2011-12-28
SQL code
with a as(select '1' d from dual union all select '2' from dual union all select '5' from dual union all select '' from dual ) select case when d='1' then '11' when d='2' then '22' when d is null then '/' else d end from a——————————————————————————
11
22
5
/
作者: xpingping 发布时间: 2011-12-28
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28