case when then 中判斷null的方法


 

Sql Server 中使用case when then 判斷某字段是否為null,和判斷是否為字符或數字時的寫法不一樣,如果不注意,很容易搞錯


錯誤方法:

CASE columnName WHEN null THEN 0 ELSE columnName END


正確方法:

CASE WHEN columnName is null THEN 0 ELSE columnName END

 

Case具有兩種格式。簡單Case函數和Case搜索函數。
--簡單Case函數
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END搜索
--Case搜索函數
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END

這兩種方式,可以實現相同的功能。簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。
還有一個需要注意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。
兩者中可以根據不同的需求來選擇


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM