Oracle SQL语句 之 Case When函数

定义

当我们需要从数据源上直接判断数据显示代表的含义的时候,就可以在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

file

加入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;

file

Related Posts