sql case when 怎么用

sql case when 怎么用,第1张

Case具有两种格式。简单Case函数和Case搜索函数。

–简单Case函数:

CASE sex。

WHEN ’1′ THEN ’男’。

WHEN ’2′ THEN ’女’。

ELSE ’其他’ END。

–Case搜索函数:

CASE WHEN sex = ’1′ THEN ’男’。

WHEN sex = ’2′ THEN ‘女’。

ELSE ‘其他’ END。

这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

–比如说,下面这段SQL,将永远无法得到“第二类”这个结果。

CASE WHEN col_1 IN (‘a’, ‘b’) THEN ’第一类’。

WHEN col_1 IN (‘a’) THEN ’第二类’。

ELSE’其他’ END。

举个例子就明白了,例如在员工的工资表把员工的工资分成等级

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 ) = ‘低薪'

当做一个列就好了

case when 0 then ‘是’when 1 then ‘否’;一般情况下在查询语句中用,根居不同的数据结果查询转换成自己想要的类型;

楼主的情况,建议用存储过程,写if语法来做处理


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11732902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存