MySql中的CASE、WHEN用法

MySql数据库中的CASE WHEN语句

CASE 具有两种格式:
简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。

(1)简单 CASE 函数:
CASE input_expression
WHEN when_expression THEN
result_expression […n ] [
ELSE
else_result_expression
END

“举栗子”
CASE sex
WHEN ‘1’ THEN ‘男’
WHEN ‘2’ THEN ‘女’
ELSE ‘其他’
END

(2)搜索 CASE 函数:
CASE
WHEN Boolean_expression THEN
result_expression […n ] [
ELSE
else_result_expression
END

“举栗子”
CASE WHEN sex = ‘1’ THEN ‘男’
WHEN sex = ‘2’ THEN ‘女’
ELSE ‘其他’
END

举栗子:
SELECT
a.name,
a.birth_date,
IF(a.sex = 1, ‘女’, ‘男’) sex ,
CASE WHEN a.edu_degree = 1 THEN ‘高中以下’
WHEN a.edu_degree = 2 THEN ‘高中’
WHEN a.edu_degree = 3 THEN ‘专科’
WHEN a.edu_degree = 4 THEN ‘本科’
WHEN a.edu_degree = 5 THEN ‘硕士’
WHEN a.edu_degree = 6 THEN ‘博士’
END eduDegree,
b.areaname,
c.areaname,
d.areaname
FROM
app_user a,
areas b,
areas c,
areas d
WHERE a.address_area = b.id
AND a.address_street = c.id
AND a.address_village = d.id

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值