CASE WHEN的简单用法

来源:互联网 发布:怎么上淘宝商学院 编辑:程序博客网 时间:2024/06/01 09:22

  最近在做项目时遇到一个问题,要对一些条件进行模糊查询,但数据库中保存的是数字,找了一些方法,感觉CASE WHEN比较好用。
  格式:
  CASE WHEN 字段=条件 THEN 结果
  ELSE 其它 END

 select rec.status rec_status,re_statue.sta          from            (select id,                (CASE WHEN status = 0 THEN '未领取 '                WHEN status = 1 THEN '招聘中 '                WHEN status = 2 THEN '招聘名额未满'                WHEN status = 3 THEN '完成招聘'                ELSE '其它'  END) as sta                from recruitment            ) as re_statue,        recruitment rec        where        rec.id = re_statue.id        and re_statue.sta like '%未%'

这里写图片描述

其中WHEN后面为条件,THEN后面为当数据为此时的结果。ELSE是超出以上条件的默认值。

另一种写法

 select rec.status rec_status,re_statue.sta from        (select id,        (CASE status WHEN 0        THEN '未领取 '        WHEN 1        THEN '招聘中 '        WHEN 2        THEN '招聘名额未满'        WHEN 3        THEN '完成招聘'        ELSE '其它'  END) as sta        from recruitment) as re_statue,        recruitment rec        where        rec.id = re_statue.id        and re_statue.sta like '%完成%'

这里写图片描述

可见两种方式结果是相同的

原创粉丝点击