提示
Hive SQL 教程 欢迎使用。提供建议、纠错、催更等加作者微信: gairuo123(备注:sql )和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Hive SQL If 函数当条件 testCondition 为 TRUE 时,返回 valueTrue;否则返回 valueFalseOrNull。
IF(boolean testCondition, T valueTrue, T valueFalseOrNull);
当条件 testCondition 为 TRUE 时,返回 valueTrue;否则返回 valueFalseOrNull。相当于 java 中的三目运算符。
这是最好用的条件函数之一,类似于其他编程语言中的 IF 语句。IF 条件函数测试表达式并根据结果是 true、false 还是 null 返回相应的结果。
第一个条件判断的计算可参考:逻辑操作符号。
以下是一些案例:
-- 'True'
select IF(1=1,'TRUE','FALSE');
-- working
select IF(1=1, 'working', 'not working');
-- 200
select if(1=2,100,200);
-- 100
select if(2>1,100,200);
以下是一些技巧案例:
-- 2 可以做嵌套
select if(1==1, if(2==2, 2, 3), 4);
-- 利用 count 不计算 null 的规则,只统计指定条件的
select count(if(x>10, x, null));
-- 同上
select sum(if(x>10, 1, 0));
-- 接上,可去重,如计算 UV
select COUNT(DISTINCT IF(x>10, uid, NULL));
-- 不为空的有多少
select COUNT(IF(x IS NOT NULL, x, NULL));
更新时间:2021-06-27 00:07:27 标签:sql hive if