MySQL:查询语句 case when then 的用法

查询结果时,当某列的值为某个关键词时,需要把结果显示成固定结果或更换显示结果,在写SQL语句时,可以用 case when then 进行处理,其逻辑等同于 if… else… 的原理。
关键词: case when ... then ... end ...
或者 case when ... then ..esle... end ...
格式说明:

case when 判断条件1 then 显示的结果  
        when 判断条件2 then 显示的结果
        else 显示的结果  // 除去上面的条件之外的显示
  end AS 显示字段名

示例:
业务要求:A表中的成绩等级字段 F_Grade 有A,B,C,D,E这几种结果,现要求查询显示的结果显示分别对应:优秀,良好,合格,不合格 的文本显示,故需要进行语句处理, 查询语句如下

select ID,
case when F_Grade ='A' when '优秀'
when F_Grade ='B' when '良好'
when F_Grade ='C' when '合格'
when F_Grade ='D' when '不合格'
else  F_Grade   #// 当有多个结果显示成该字段本身时,可以直接用else,若上方的when 已经把结果都显示全了,则可以不用加 else
end AS F_Grade     #//也可以显示成别名,例如 as AAA 等
from tableA

最终,查询出来的结果显示的是指定的文本,而不是字母 A之类的了。
when 的条件并不限制只能是一个,可以写成多个,字段多个等,例如

when F_Grade='A'  and 字段B='是' then '优秀'

then 的结果也可以是显示成某个字段的结果,例如

when F_Grade='A'   then 字段C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值