sql的case when的使用

CASE WHEN 的使用,看别人写好的,好像很简单,就一个CASE xxx  WHEN  express1 THEN result1 WHEN exp2 THEN result2 ,然后到自己用的时候就一堆问题发各种检查,下边列出来的踩得坑;

 

1. 注意这里的case 和  end是成对出现的,不能省略  

2. 最后的那个else后边是没有关键字then的

3. 如果放在sql中使用,则要把case ...end 所有的部分都给用括号括起来,并且给一个名字 ,具体列子如下:

4. ELSE 的部分是可以省略的,如果省略掉之后,在其余when条件不满足时,返回null

 

CASE 

   WHEN express1 THEN res1

   WHEN expression2 THEN res2

 ELSE res3

END 

 

 

SELECT id
,
( CASE WHEN service_id = 4 THEN '搭电' WHEN service_id = 5 THEN '拖车' ELSE'其他' END ) AS remark
FROM
car_service.service_reqs
WHERE
created_dt > '2021-05-01'
AND status = 'COMPLETED';

 

 

sql的case when的使用

 

上一篇:SQL Server fn_dblog恢复被误操作删除的数据


下一篇:LeetCode 【困难】数据库-第618:学生地理信息报告(分组行列转换)