MySQL中CASE表达式的使用

MySQL 中 CASE 表达式的使用

前言

在 MySQL 中,CASE 表达式相当于程序设计中的一个条件判断的函数,是 SQL 语言分情况讨论的一种表达形式。
CASE 表达式有两种:一种是类似编程语言的 SWITCH CASE 。 SQL 中称为简单 CASE 表达式;
一种是类似于 IF 语句的根据条件表达式进行判断。 SQL 语言称为搜索 CASE 表达式。




搜索 CASE 表达式

case
when <判断表达式> then <表达式>
when <判断表达式> then <表达式>else <表达式>
end

从上而下根据条件进行判断,满足的话就进入 then 之后的表达式中,不满足的话就进入 else 。else 可省略,省略后默认为 null 值。end 不能省略。

例子:

select e.id,e.name,e.dept_id,
( case when e.sex="1" then "男"
	when e.sex="2" then "女" 
	when e.sex is null then "空"
	else "其它" end ) 性别
from t_employee e

原表:
原表
查询结果:
在这里插入图片描述


例子:
select e.id,e.name,e.sex,e.dept_id,
( case when e.sex=1 then 1 end ) "男",
( case when e.sex=2 then 0 end ) "女"
from t_employee e 

查询结果:
查询结果表



简单 CASE 表达式

case value
when <判断值> then <表达式>
when <判断值> then <表达式>else <表达式>
end

根据 value 与判断值进行比较。满足的话就进入 then 之后的表达式中,不满足的话就进入 else 。else 可省略,省略后默认为 null 值。end 不能省略。

例子:

select e.id,e.name,e.sex,e.dept_id,
( case e.sex
when "1" then "男"
when "2" then "女"
else "其他" end ) 性别
from t_employee e

查询结果:
查询结果



总结

如果这篇博客对你有帮助的话,记得给我点个赞,你的鼓励是对我最大的支持!谢谢。◕‿◕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值