CASE WHEN 函數


--Case函數:
--有兩種格式:
--     1.簡單Case函數。
--     2.Case搜索函數。
--1.簡單Case函數:
--    CASE [COLUMN_NAME] 
--        WHEN ['條件參數'] THEN ['COLUMN_NAME/顯示內容']
--        WHEN ['條件參數'] THEN ['COLUMN_NAME/顯示內容']
--        ......
--        ELSE ['COLUMN_NAME/顯示內容']
--        END
--2.Case搜索函數:
--    CASE WHEN [COLUMN_NAME] = ['COLUMN_NAME/顯示內容/表達式'] THEN [''COLUMN_NAME/顯示內容'']
--         WHEN [COLUMN_NAME] = ['COLUMN_NAME/顯示內容/表達式'] THEN [''COLUMN_NAME/顯示內容'']
--         ......
--         ELSE ['COLUMN_NAME/顯示內容']
--         END
--說明:兩種方式可以實現相同的功能。簡單CASE函數較CASE搜索函數語法簡潔,但功能方面有所限制。
--比如說寫判斷式。同時還需要注意一點:CASE函數只返回第一個符合條件的值,剩下達到CASE部分將會被自動忽略。
--另外:使用CASE()函數一方面可以在查詢時靈活的組織語法結構,另外一方面可以避免對同一張或多張表的多次訪問。
--重點說明:ELSE可以沒有。
--EG: SELECT C.* , CASE WHEN C.T_NUMBER = '1' THEN '' WHEN C.T_NUMBER = '2' THEN '' ELSE '其他' END AS '性別' FROM DAY20190706 C; SELECT C.* , CASE WHEN C.T_NUMBER < '1' THEN '' WHEN C.T_NUMBER > '2' THEN '' ELSE '其他' END AS '性別' FROM DAY20190706 C; SELECT C.* , CASE WHEN C.T_NUMBER = '1' OR C.T_NUMBER = '0' THEN '' WHEN C.T_NUMBER = '2' THEN '' ELSE '其他' END AS '性別' FROM DAY20190706 C; SELECT C.* , CASE WHEN C.T_NUMBER = '1' AND C.T_NUMBER = '0' THEN '' WHEN C.T_NUMBER = '2' THEN '' ELSE '其他' END AS '性別' FROM DAY20190706 C;

 


免責聲明!

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



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