SQL case when的使用
实习过程中学到了从数据源上直接判断数据,从而显示需要得到的真正数据 ,就可以在SQL语句中使用 case when这个函数了.
case具有两种格式。简单 case函数和 case搜索函数。
第一种 格式 : 简单 case函数 :
格式说明
case 列名
when 条件值1 then 选择项1
when 条件值2 then 选项2…
else 默认值 end
eg:
select
case number
when ‘1’ then ‘1’
when ‘2’ then ‘2’
when ‘3’ then ‘3’
else ‘0’ end
第二种 格式 : case搜索函数
格式说明
case
when 列名= 条件值1 then 选择项1
when 列名=条件值2 then 选项2…
else 默认值 end
eg:
select s_no,s_name,
(case
when (score>= '60’and score<‘70’) then ‘及格’
when (score>=‘70’ and score<‘90’) then ‘良好’
when (score>=‘90’ and score<=‘100’) then ‘优秀’
else ‘不及格’ end)
as score
提示:通常我们在写case when的语句的时候,会容易忘记 end 这个结束,一定要记得!
两种格式,可以实现相同的功能。
简单 case函数的写法相对比较简洁,但是和 case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题, case函数只返回第一个符合条件的值,剩下的 case部分将会被自动忽略。
case when函数使用起来简单易懂,此篇文章只作了简单的使用介绍,还需在实际工作中根据业务场景不同来灵活使用。