频道栏目
首页 > 资讯 > 其他综合 > 正文

CASEWHEN的简单用法

17-07-19        来源:[db:作者]  
收藏   我要投稿

最近在做项目时遇到一个问题,要对一些条件进行模糊查询,但数据库中保存的是数字,找了一些方法,感觉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 '%完成%'

这里写图片描述

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

相关TAG标签
上一篇:MySql的常用操作
下一篇:SQL学习笔记:表的约束
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站