如何在BigQuery SQL中创建DATE类型的空值/Null值?
生成DATE类型NULL值的可行方法
直接使用NULL并显式转换为DATE类型即可,完全不需要通过空字符串转TIMESTAMP的绕路方式,这也是最稳妥的做法。
针对你需要的UNION场景,示例SQL如下:
-- 表1(含date列) SELECT date_col, col1, col2 FROM table1 UNION ALL -- 表2(无date列,生成DATE类型NULL值) SELECT CAST(NULL AS DATE) AS date_col, col1, col2 FROM table2 UNION ALL -- 表3(无date列,生成DATE类型NULL值) SELECT CAST(NULL AS DATE) AS date_col, col1, col2 FROM table3
补充说明
- 部分SQL引擎允许直接写
NULL而省略CAST(NULL AS DATE),因为UNION操作会自动匹配列的类型,但显式转换能避免潜在的类型不匹配报错,兼容性更强。 - 你之前用
CAST(TIMESTAMP('') AS DATE)报错是因为空字符串不属于合法的TIMESTAMP格式,无法完成转换,而NULL是所有数据类型的合法空值,直接指定DATE类型就可以满足需求。
内容的提问来源于stack exchange,提问作者Chique_Code
相关产品推荐
相关产品推荐

