SQL笔记-case when 与left()和in()组合使用
志城
2021年01月08日 15:43

记录日常使用中sql语句中,多个函数使用

代码块
SQL
自动换行
复制代码
SELECT  a.co1

       ,CASE WHEN LEFT(hangye,2)in(13,14,15,16) THEN '食品'

             WHEN LEFT(hangye,2)in(17,18,19,28) THEN '纺织' ELSE '其他' END AS Leixing

       ,a.zhandi

       ,shuishou

       ,xiaoshou

FROM table1 a

WHERE 1 = 1
复制成功

一般的case when 使用的方法是在  case 后添加 字段 然后在用 when 去判断

这里的方法是 直接写 case when,在后方添加字段的判断

这里的需求是 把 hangye 中的前2位数字 提取出,并判断是否在 一个数组中,根据结果分组

先使用 left(hangye,2) 提取出前2位数字

再用 in(13,14,15,16)去判断 是否在数值(13,14,15,16)

然后在用 case when 方法去进行 分组

作者:志城

网页链接​

出处: bilibili