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