You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery日期转换报错:Invalid date '20180403' 求解析方法

解决BigQuery中日期解析为yyyy-mm-dd格式的问题

你遇到的错误是因为CAST(costTable.date AS DATE)无法直接识别'20180403'这种yyyymmdd格式的字符串——BigQuery的CAST转换为DATE类型时,默认只支持符合ISO标准的yyyy-mm-dd格式输入。

要正确解析这种格式的日期并输出yyyy-mm-dd,你需要用**PARSE_DATE函数**来指定输入的日期格式,再结合FORMAT_DATE确保输出格式(其实PARSE_DATE返回的DATE类型默认显示就是yyyy-mm-dd,但如果需要明确格式化可以保留):

正确的SQL语句

如果你的costTable.date是字符串类型:

FORMAT_DATE("%Y-%m-%d", PARSE_DATE("%Y%m%d", costTable.date))

如果你的costTable.date是数字类型(比如INT64),需要先转成字符串再解析:

FORMAT_DATE("%Y-%m-%d", PARSE_DATE("%Y%m%d", CAST(costTable.date AS STRING)))

简单解释

  • PARSE_DATE("%Y%m%d", costTable.date):告诉BigQuery输入的日期是年年年年月月日日的格式,将其解析为DATE类型。
  • FORMAT_DATE("%Y-%m-%d", ...):把解析后的DATE类型转换为你需要的yyyy-mm-dd字符串格式(如果只是需要DATE类型数据,这一步可以省略,因为DATE类型在BigQuery中默认展示就是yyyy-mm-dd)。

内容的提问来源于stack exchange,提问作者Mayank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:17:22