遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

【转】Mysql之case when的三种用法

转自:https://www.2cto.com/database/201709/683378.html

 

case when 的三种用法:

1. case 字段 when ,字段的具体值。

select a.*,

  case name

    when '流浪' then '法师'

    else '战士'

  end as '类型'

FROM c_20170920 a;

 

 

 

2. case when 字段,这个可以对字段进行取范围。

SELECT a.*,

    CASE

        WHEN a.age BETWEEN 0 and 20 THEN '青年'

        WHEN a.age BETWEEN 20 and 40 THEN '中年'

        ELSE '非人类'

    END AS '描述'

FROM c_20170920 a;        

 

 

 

3. case when 字段1,字段2,可以对多个字段进行替换

SELECT a.*,

    CASE

        WHEN a.age BETWEEN 20 and 80 THEN '青年'

        WHEN a.name ='流浪' THEN '帅气'

    END AS '描述'

FROM c_20170920 a;        

 

 

这里需要注意的是,如果两个条件都针对一个字段的话且都满足条件,会显示第一个when的值。

比如下面:

SELECT a.*,

    CASE

        WHEN a.age BETWEEN 0 and 20 THEN '青年'

        WHEN a.name ='流浪' THEN '帅气'

    END AS '描述'

FROM c_20170920 a;

 

 

 

 

posted @ 2016-08-28 19:57  全栈测试笔记  阅读(517)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end