Case具有两种格式。简单Case函数和Case搜索函数。
1、 简单Case函数
注意:Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
2、Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
再举个例子:在员工的工资表把员工的工资分成等级1000以下为低薪,1000-2000为中等,其他为高薪
select (case when salary <= 1000 then '低薪' when salary > 1000 and salary < 2000 then '中等' else '高薪' end ) as 工资等级 from employee
这样,工资等级就可以当做一个列来处理,包括where里面,可以写where (case when salary <= 1000 then '低薪' when salary > 1000 and salary < 2000 then '中等' else '高薪' end ) = ‘低薪'
参考:https://www.nhxz.com/fanyi/f7fa732b517cbed14a48843d745.html
https://blog.csdn.net/xuxurui007/article/details/8479953