Saving all output to "!!{outputDirectory}!!/explode_null.q.raw". Enter "record" with no arguments to stop it. >>> !run !!{qFileDirectory}!!/explode_null.q >>> SELECT explode(col) AS myCol FROM (SELECT array(1,2,3) AS col FROM src LIMIT 1 UNION ALL SELECT IF(false, array(1,2,3), NULL) AS col FROM src LIMIT 1) a; 'mycol' '1' '2' '3' 3 rows selected >>> >>> SELECT explode(col) AS (myCol1,myCol2) FROM (SELECT map(1,'one',2,'two',3,'three') AS col FROM src LIMIT 1 UNION ALL SELECT IF(false, map(1,'one',2,'two',3,'three'), NULL) AS col FROM src LIMIT 1) a; 'mycol1','mycol2' '1','one' '2','two' '3','three' 3 rows selected >>> >>> !record