PREHOOK: query: DESCRIBE FUNCTION when PREHOOK: type: DESCFUNCTION POSTHOOK: query: DESCRIBE FUNCTION when POSTHOOK: type: DESCFUNCTION CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END - When a = true, returns b; when c = true, return d; else return e PREHOOK: query: DESCRIBE FUNCTION EXTENDED when PREHOOK: type: DESCFUNCTION POSTHOOK: query: DESCRIBE FUNCTION EXTENDED when POSTHOOK: type: DESCFUNCTION CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END - When a = true, returns b; when c = true, return d; else return e Example: SELECT CASE WHEN deptno=1 THEN Engineering WHEN deptno=2 THEN Finance ELSE admin END, CASE WHEN zone=7 THEN Americas ELSE Asia-Pac END FROM emp_details PREHOOK: query: EXPLAIN SELECT CASE WHEN 1=1 THEN 2 WHEN 1=3 THEN 4 ELSE 5 END, CASE WHEN 6=7 THEN 8 ELSE 9 END, CASE WHEN 10=11 THEN 12 WHEN 13=13 THEN 14 END, CASE WHEN 15=16 THEN 17 WHEN 18=19 THEN 20 END, CASE WHEN 21=22 THEN NULL WHEN 23=23 THEN 24 END, CASE WHEN 25=26 THEN 27 WHEN 28=28 THEN NULL END FROM src tablesample (1 rows) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT CASE WHEN 1=1 THEN 2 WHEN 1=3 THEN 4 ELSE 5 END, CASE WHEN 6=7 THEN 8 ELSE 9 END, CASE WHEN 10=11 THEN 12 WHEN 13=13 THEN 14 END, CASE WHEN 15=16 THEN 17 WHEN 18=19 THEN 20 END, CASE WHEN 21=22 THEN NULL WHEN 23=23 THEN 24 END, CASE WHEN 25=26 THEN 27 WHEN 28=28 THEN NULL END FROM src tablesample (1 rows) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-0 is a root stage STAGE PLANS: Stage: Stage-0 Fetch Operator limit: -1 Processor Tree: TableScan alias: src Row Limit Per Split: 1 Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 2 (type: int), 9 (type: int), 14 (type: int), null (type: void), CASE WHEN (false) THEN (null) WHEN (true) THEN (24) END (type: int), CASE WHEN (false) THEN (27) WHEN (true) THEN (null) END (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 500 Data size: 10000 Basic stats: COMPLETE Column stats: COMPLETE ListSink PREHOOK: query: SELECT CASE WHEN 1=1 THEN 2 WHEN 1=3 THEN 4 ELSE 5 END, CASE WHEN 6=7 THEN 8 ELSE 9 END, CASE WHEN 10=11 THEN 12 WHEN 13=13 THEN 14 END, CASE WHEN 15=16 THEN 17 WHEN 18=19 THEN 20 END, CASE WHEN 21=22 THEN NULL WHEN 23=23 THEN 24 END, CASE WHEN 25=26 THEN 27 WHEN 28=28 THEN NULL END FROM src tablesample (1 rows) PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: SELECT CASE WHEN 1=1 THEN 2 WHEN 1=3 THEN 4 ELSE 5 END, CASE WHEN 6=7 THEN 8 ELSE 9 END, CASE WHEN 10=11 THEN 12 WHEN 13=13 THEN 14 END, CASE WHEN 15=16 THEN 17 WHEN 18=19 THEN 20 END, CASE WHEN 21=22 THEN NULL WHEN 23=23 THEN 24 END, CASE WHEN 25=26 THEN 27 WHEN 28=28 THEN NULL END FROM src tablesample (1 rows) POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### 2 9 14 NULL 24 NULL PREHOOK: query: -- Allow compatible types to be used in return value SELECT CASE WHEN 1=1 THEN 123.0BD ELSE 0.0BD END, CASE WHEN 1=1 THEN 123 WHEN 1=2 THEN 1.0 ELSE 222.02BD END, CASE WHEN 1=1 THEN 'abcd' WHEN 1=2 THEN cast('efgh' as varchar(10)) ELSE cast('ijkl' as char(4)) END FROM src tablesample (1 rows) PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- Allow compatible types to be used in return value SELECT CASE WHEN 1=1 THEN 123.0BD ELSE 0.0BD END, CASE WHEN 1=1 THEN 123 WHEN 1=2 THEN 1.0 ELSE 222.02BD END, CASE WHEN 1=1 THEN 'abcd' WHEN 1=2 THEN cast('efgh' as varchar(10)) ELSE cast('ijkl' as char(4)) END FROM src tablesample (1 rows) POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### 123 123.0 abcd