函数"/>
Hive中的条件判断函数
在HQL语句中,我们经常会对某列的值进行判断,如果值不符合预期,我们就会对其进行处理,这时就需要用到判断函数,下面列出常用的判断函数或判断表达式:
-
if
-- 类似Java中的三目运算符 : 条件表达式 ? true的结果 : false的结果
IF(条件表达式, true的结果, false的结果)
-- 示例:
select if(sex=1,'男','女') from user;
- nvl
-- 返回两个值或表达式中的非NULL值,只能有两个参数
nvl(exp1,exp2)
-- 示例:
select nvl(NULL,'默认值'); -- 默认值
- coalesce
-- 返回参数中的第一个非 NULL 值,可以有多个参数
COALESCE(value1,value2,… )
-- 示例:
select coalesce(null,null,5,null,6); -- 5
- case when
-- 用法1: 用于判断expression是固定值CASE [ expression ]
WHEN condition1 THEN result1
...
WHEN conditionn THEN resultn
ELSE result
END
-- 示例:
select
case sex
when 1 then '男'
when 2 then '女'
else '人妖'
end
from user;
-- 用法2: 类似java 的if else if else 写法
CASE
WHEN condition1 THEN result1
...
WHEN conditionn THEN resultn
ELSE result
END
-- 示例:
select
case
when sex = 1 then '男'
when sex = 2 then '女'
else '人妖'
end
from user;
更多推荐
Hive中的条件判断函数
发布评论