hive3.1.x case when then else end 的用法

简单函数

语法

select

CASE 表达式
    WHEN 值1 THEN 值a
    [WHEN 值2 THEN 值b] ...
    [ELSE 值c]
END

FROM 表

解释:

  • 表达式可以是字段,枚举这个字段所有可能的值

例子

select ename,
case job
when 'SALESMAN' then '销售'
when 'MANAGER' then '领导'
else '未知'
end as `岗位`
from emp

执行结果:

ename |岗位|
------|--|
SMITH |未知|
ALLEN |销售|
WARD  |销售|
JONES |领导|
MARTIN|销售|
BLAKE |领导|
CLARK |领导|
SCOTT |未知|
KING  |未知|
TURNER|销售|
ADAMS |未知|
JAMES |未知|
FORD  |未知|
MILLER|未知|

搜索函数

语法

select

CASE
    WHEN 表达式1 THEN 值a
    [WHEN 表达式2 THEN 值b] ...
    [ELSE 值c]
END

from 表

解释:

  • 表达式:可以写判断,可以判断 null

例子

SELECT ename,sal,
    case
    when sal>3000 then '高收入'
    when sal>2000 then '中收入'
    when sal>1000 then '普通收入'
    else '低收入'
    end  as `收入级别`
from   emp order by sal

感谢:
https://www.cnblogs.com/renpei/p/5485730.html


原文出处:/show_1IX4OTwC0SIR.html