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
結果: