hive 常用函数整理 6.条件函数


1. If函数: if

语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull)

返回值: T

说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull

举例:

hive> select if(1=2,100,200) from student;

200

hive> select if(1=1,100,200) from student;

100

2. 非空查找函数: COALESCE

语法: COALESCE(T v1, T v2, …)

返回值: T

说明: 返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL

举例:

hive> select COALESCE(null,'100','50') from student;

100

3. 条件判断函数:CASE

语法: CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END

返回值: T

说明:如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f

举例:

hive> Select case when 50 then 'tom' when 100 then 'mary' else 'tim' end from student;

mary

hive> Select case 200 when 50 then 'tom' when 100 then 'mary' else 'tim' end from student;

tim

hive> Select case 100 when 100 then 'tom' when 100 then 'mary' else 'tim' end from student;

tom

4. 条件判断函数:CASE

语法: CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END

返回值: T

说明:如果a为TRUE,则返回b;如果c为TRUE,则返回d;否则返回e

举例:

hive> select case when 1=2 then 'tom' when 2=2 then 'mary' else 'tim' end from student;

mary

hive> select case when 1=1 then 'tom' when 2=2 then 'mary' else 'tim' end from student;

tom

hive> select case when 1=1 then 'tom' when 2=2 then 'mary' else 'tim' end from student;

tom

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
  目录