Oracle中case when then 中判断null的方法

       Oracle中使用case when then 判断某字段是否为null,和判断是否为 字符 或 数字 时的写法不一样:


错误方法:

(zhaohao 已实践,的确是不行。虽然不会报错,但是结果不对的)

格式:
     CASE columnName WHEN null THEN 0 ELSE columnName END

例子:

SELECT
  ce.zsnum,
  (CASE  ce.zsnum WHEN  NULL THEN '否' ELSE '是' END ) get_certificate 
 FROM osip_osta_certificate

结果:
在这里插入图片描述

正确方法:

格式:
CASE WHEN columnName is null THEN 0 ELSE columnName END
例子:

SELECT
  ce.zsnum,
  (CASE  WHEN ce.zsnum IS NULL THEN '否' ELSE '是'  END ) get_certificate 
 FROM osip_osta_certificate

结果:
在这里插入图片描述

发布了81 篇原创文章 · 获赞 44 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/daponi/article/details/103973279