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

結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章