20170920--mysql--case when

来源:互联网 发布:蒲城县网络党校 编辑:程序博客网 时间:2024/06/15 05:39

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