SQL中case when语句的两种用法

本文介绍了SQL中的CASE WHEN语句,包括两种用法:一种类似switch case,用于字段值固定的匹配;另一种则更像if else,基于条件表达式决定输出。尽管第二种用法更灵活,但通常推荐使用第一种,以保持SQL语句的简洁性和可读性。
摘要由CSDN通过智能技术生成

case函数,严格的意义上来讲case函数已经试流程控制语句了,不是简单意义上的函数,不过为了方便,很多人将case函数称为流程控制函数。

case函数的一般有两种用法:

(1)方式一
case 字段名 when 字段值 then 值1 else 值2 end 

这一种是之前比较常用的一种方式,相当于是大部分编程语言中的switch case的用法,通过字段名,去匹配字段值,适合字段值比较固定的情况下使用,特点是比较简洁易用。
示例:

下面的sql语句就是就是用来判断是好孩子,我们偏爱tom所以我们认为他是好孩子,jack是坏孩子,其他的都是普通孩子

select fname, (

case fname

when 'tom' then '好孩子'

when 'jack' then '坏孩子'

else '普通孩子'

end

) as isgoodchild

from T_person
(2)方式二
case when 条件 then 值1 else 值2 end

这一种应该用过的人比较少一些,一般情况下也不需要使用这种判断方式,如果情况允许的话,最好是在where子句中进行条件筛选,避免数据库不必要的性能消耗。但是一些特殊的情况下还是会用到的。这种用法的特点其他编程语言中的if else条件语句十分相似的 when后面的是一个条件表达式,根据表达式的结果来进行决定是否为then后面的值,使用起来比较灵活,可以适应更

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清平乐的技术博客

你的鼓励是我最大创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值