Hive中 case when then 的两种语法结构:
-
条件判断函数case A when B then C ,case和when是分开的
语法:CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END
说明:如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f。注意这种when的判断条件可以有很多个。如CASE 4 WHEN 5 THEN 5 WHEN 4 THEN 4 ELSE 3 END 将返回4。
示例1:
select case 100
when 50 then 'tom'
when 100 then 'mary'
else 'tim' end
from lxw_dual;
--mary
select case 200 when 50 then 'tom'when 100 then 'mary' else 'tim' end from lxw_dual;
--tim
-
这种语法第一个case when是一起的,用于处理单个列的查询结果,类似于if判断