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;

 

posted @ 2019-07-06 21:35  我需要一杯水  阅读(20671)  评论(0编辑  收藏  举报