case when 函数的使用实例

本文介绍了 SQL 中 case 函数的两种形式及其应用案例,重点解析了 case 搜索函数,并通过具体示例展示了如何使用 case when 结构进行条件判断及字符串连接函数 concat 的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先简单说点case函数的概念,

case()函数有两种形式,

第一种:                       case  when 条件1 then 结果1 

                                              when 条件2 then 结果2                                                            

                                              when 条件3 then 结果3

                                              else 结果3 end;

第二种:                     case  字段名

                                          when 条件1 then 结果1

                                          when 条件2 then 结果2 

                                          else 结果3 end;

第一种成为case搜索函数,第二种为case简单函数,这里主要讲解的是第一种函数的用法,感觉懂了第一种,第二种很好理解。

实例:

case      when b.grp_name1 <> '' and a.poi_name  like concat('%',b.grp_name1,'%')  then b.grp_name 
             when b.grp_name1 <> '' and a.poi_name1  like concat('%',b.grp_name1,'%') then b.grp_name

             else '' end as grp_name

    这是工作建表中的一个字段判断语句,case when函数关键字用红色标明,sql语句中所判断的条件有四个,依次判断b.grp_name1字段,注意一点的是,当满足条件一的时候整个判断结束,也就是说执行流程为看条件1是否满足,满足的话则b.grp_name1 = b.grp_name,如果不满足则执行下一条判断语句,同上,如果都不满足的话则执行else后面语句,在这里即为空。

      附带一个:这里判断条件中还用到一个concat()函数,这个函数作用主要是把字符串连接起来,这个好处在于,它可以组合字段名和字符串的连接,一般我们在模糊匹配的时候用的最多的就是'%value%',但是当这个value不是一个具体的值,而是一个字段名的时候这样方法没法实现。所以就有了concat('%',value,'%'),这个函数所要连接的字段中如果有一个为null,则会返回结果null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

学渣渣_宇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值