当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在sql语句中使用 case when这个函数了.
case具有两种格式。简单case函数和case搜索函数。
第一种 格式 : 简单case函数 :
格式说明
case 列名
when 条件值1 then 选择项1
when 条件值2 then 选项2.......
else 默认值 end
selectcase job_levelwhen '1' then '1111'when '2' then '1111'when '3' then '1111'else 'eee' endfrom dbo.employee
第二种 格式 :case搜索函数
格式说明
case
when 列名= 条件值1 then 选择项1
when 列名=条件值2 then 选项2.......
else 默认值 end
eg: update employeeset e_wage =casewhen job_level = '1' then e_wage*1.97when job_level = '2' then e_wage*1.07when job_level = '3' then e_wage*1.06else e_wage*1.05end
提示:通常我们在写case when的语句的时候,会容易忘记 end 这个结束,一定要记得哟!
比较: 两种格式,可以实现相同的功能。
简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,case函数只返回第一个符合条件的 值,剩下的case部分将会被自动忽略。
推荐教程: 《sql教程》
以上就是sql语句case when用法详解的详细内容。
