1.if函数
select a,b,c,if(b>1,1,2) as bb from num1 ;
2.sum(if())函数
hive> select sum(if (data_co_1 > 3,1,0)) count1,sum(if (data_co_2 > 3,1,0)) count2 from data
2.case when 函数
hive> select
score,
case
when score >=90 then '优秀',
when score < 90 and score >=70 then '良好',
when score < 70 and score >=60 then '及格',
when score < 60 and score >=40 then '不及格',
else '渣'
end
as slevel
from sco;
3.nvl函数
语义:如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值
hive (gmall)> select nvl(1,0);
1
hive (gmall)> select nvl(null,"hello");
hello
注意:表达式1和表达式2的数据类型必须为同一个类型
4.coalesce函数
语义:取多个表达式中第一个非null的值
hive (gmall)> select coalesce(null,null,1,null,0);
1