条件函数和表函数

条件函数和表函数

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)

  1. hive> select name,
  2. > case
  3. >   when prince<50 then "D"
  4. >   when prince<100 then "C"
  5. >   when prince<200 then "B"
  6. >   else "A"
  7. > end
  8. > from film limit 10;

结果:返回电影名称和等级

二.表函数

1.explode炸开分成多行

 

posted @ 2025-06-18 17:22  Annaprincess  阅读(19)  评论(0)    收藏  举报