一、条件函数
1. If 函数: if
语法: if(boolean testCondition, T valueTrue, TvalueFalseOrNull)
返回值: T
说明: 当条件 testCondition为 TRUE 时,返回 valueTrue;否则返回 valueFalseOrNull
举例:
hive> select if(1=2,100,200) from test;
200
hive> select if(1=1,100,200) from test;
100
2. 非空查找函数: COALESCE
语法: COALESCE(T v1, T v2, ...)
返回值: T
说明: 返回参数中的第一个非空值;如果所有值都为NULL,那么返回 NULL
举例:
hive> select COALESCE(null,'100','50′) from test;
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 100 when 50 then 'tom' when 100 then 'mary'else 'tim' end from
test;
mary
hive> Select case 200 when 50 then 'tom' when 100 then 'mary'else 'tim' end from
test;
tim
4. 条件判断函数:CASE
语法: CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END
返回值: T
说明:如果 a 为 TRUE,则返回 b;如果 c 为 TRUE,则返回 d;否则返回 e
举例: