Hive-case when的用法
hive字段复杂条件映射
case when 提供了比较大的便利性,如果只有一次条件判断的话直接用if条件就可以了,但是判断条件太多还使用if的话就会嵌套多层从而导致无法阅读。
hive的case when有两种用法
- 对某字段进行判断,只适用于字符串类型
1
2
3
4
5
6
7
8select
case os
when 'android' then 'a'
when 'ios' then 'i'
else 'o'
end as os_code
from
table t
- 判断条件
1
2
3
4
5
6
7
8
9select
case
when age < 18 then '青少年'
when age >=18 and age < 30 then '青年'
when age >= 30 then '中年'
else '其它'
end as age_range
from
table t
评论系统未开启,无法评论!