定义
当我们需要从数据源上直接判断数据显示代表的含义的时候,就可以在SQL语句中使用Case When这个函数了。
CASE WHEN类似于JAVA语言中的IF ELSE,其具有两种格式。简单CASE WHEN函数和CASE WHEN条件表达式。
简单CASE WHEN函数只能应对一些简单的业务场景,而CASE WHEN条件表达式的写法则更加灵活。
语法
case
when 条件1 then action1
when 条件2 then action2
when 条件3 then action3
when 条件N then actionN
else action
end
返回值类型
字符串
举例
正常查询
select * from test_1
加入CASE WHEN函数来返回需要的值
select sum(population) as 人口总数,
case country
when '中国' then
'亚洲'
when '印度' then
'亚洲'
when '日本' then
'亚洲'
when '美国' then
'北美洲'
when '加拿大' then
'北美洲'
when '墨西哥' then
'北美洲'
else
'其它洲'
end as 洲
from test_1
group by case country
when '中国' then
'亚洲'
when '印度' then
'亚洲'
when '日本' then
'亚洲'
when '美国' then
'北美洲'
when '加拿大' then
'北美洲'
when '墨西哥' then
'北美洲'
else
'其它洲'
end;