Case具有两种格式。简单Case函数和Case搜索函数。
第一种 格式:简单Case函数:
格式说明
- case 列名
-
- when 条件值1 then 选择项1
- when 条件值2 then 选项2.......
- else 默认值 end
举例:
- select
-
- case score
- when 'A' then '不及格'
- when 'B' then '良好'
- when 'C' then '优秀'
- else '未参加考试' end
- from TABLE
第二种 格式:Case搜索函数
格式说明
- case
-
- when 列名= 条件值1 then 选择项1
- when 列名=条件值2 then 选项2.......
- else 默认值 end
举例:
- SELECT
-
- STUDENT_NAME,
- (CASE WHEN score < 60 THEN '不及格'
- WHEN score >= 60 AND score < 80 THEN '及格'
- WHEN score >= 80 THEN '优秀'
- ELSE '异常' END) AS REMARK
- FROM
-
- TABLE
注意:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!
提示:如果你想判断score是否null的情况,WHEN score = null THEN '缺席考试',这是一种错误的写法,正确的写法应为:
CASE WHEN score IS NULL THEN '缺席考试' ELSE '正常' END