case函數
語法: CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END
說明:如果a為TRUE,則返回b;如果c為TRUE,則返回d;否則返回e
實例
hive> case when salary is null then "- -" else salary end from stg_job
#salary為空則轉換成 - -,不是則不做改變
hive> case when (job_location like '%北京%' = true) then 'A1' else 'A9' end from s_job
#將job_location字段為北京返回A1,否則返回A9
語法: CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END
說明:如果a等於b,那么返回c;如果a等於d,那么返回e;否則返回f
實例
hive> Select case 100 when 50 then 'a' when 100 then 'b'else 'c' end from wujiadong;
#如果100等於50返回a,等於100返回b,都不是返回c