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
结果:
还没有评论,来说两句吧...