如何在BigQuery中将整数类型的年份解析为日期类型
报错原因
PARSE_DATE 函数仅支持两个字符串类型的入参:第一个是指定解析规则的格式字符串,第二个是待解析的日期文本。你当前给第二个参数传入了INT64类型的年份整数,和要求的参数类型不匹配,因此触发类型校验错误。
函数PARSE_DATE没有匹配参数类型为(STRING, INT64)的签名,支持的签名为PARSE_DATE(STRING, STRING),错误位于[1:13]
解决方案
你可以任选以下两种方式实现整数年份转日期的需求:
- 方法一:先将年份整数转字符串,再调用
PARSE_DATE解析
代码示例:
输出效果:输入整数PARSE_DATE('%Y', CAST(date AS STRING)) AS parsed_date2023会返回日期类型的2023-01-01。 - 方法二:直接用
DATE函数构造日期,无需类型转换,性能更优
代码示例:DATE(date, 1, 1) AS parsed_dateDATE函数支持直接传入年、月、日三个整数构造日期,对于仅存储年份的场景更简洁高效。
内容的提问来源于stack exchange,提问作者vishvas chauhan
相关产品推荐
相关产品推荐

