条件函数和表函数
条件函数和表函数
HIVE的指令一定要有分号!
一.条件函数
1.if函数
(1)查询票房,大于50的电影名称,标记为good,小50的标记为not well,最多返回10条。
解析:就是会返回至多十条记录,且返回电影名,以及评级(按票房和50比较,大于50为good否则为not well)
select name ,if(price>50,"good","not well") from film limit 10;
结果:

2.非空查找函数coalesce
意思是查询2014年的所有电影名,如果名字是空的返回0
select coalesce(name,0)from film where dates like"2014%";

实例2:
select coalesce(name,dates,prince) from film;
意思是按照name,dates,prince顺序来检查每一行,返回每一行按这个顺序第一个非空属性的值!
如果这一行这三个属性都为空返回NULL

3.多条件(类似于switch case)
- hive> select name,
- > case
- > when prince<50 then "D"
- > when prince<100 then "C"
- > when prince<200 then "B"
- > else "A"
- > end
- > from film limit 10;
结果:返回电影名称和等级

二.表函数
1.explode炸开分成多行


浙公网安备 33010602011771号