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

在BigQuery中将STRING转DATE类型时遇格式识别问题

解决BigQuery中STRING转DATE的格式问题

问题出在两个核心点上:

  • PARSE_DATE的参数顺序搞反了,正确顺序是格式字符串在前,目标日期字符串在后
  • 格式符使用错误,你的日期是单数字月/双数字日/四位年(比如5/15/2014),对应的格式符应该是%m/%d/%Y,而非%mm/%dd/%YYYY

正确的转换语句

SELECT SaleDate, PARSE_DATE('%m/%d/%Y', SaleDate) AS SaleDateConverted
FROM your_table_name

错误原因拆解

  1. 直接CAST失败:CAST(SaleDate AS DATE)要求字符串必须是BigQuery默认的日期格式(YYYY-MM-DD),你的5/15/2014不符合该规范,因此报错。
  2. PARSE_DATE参数顺序错误:你写的PARSE_DATE(SaleDate, '%mm/%dd/%YYYY')把日期字符串放在了第一个参数位置,但BigQuery的PARSE_DATE函数定义是PARSE_DATE(format_string, date_string),顺序颠倒必然无法解析。
  3. 格式符不匹配:
    • %mm要求月份必须是两位数字(比如05),但你的数据是单数字(5),应该用%m(支持1位或2位月份)
    • %YYYY是无效格式符,四位年份的正确写法是%Y

测试验证

执行以下语句可单独验证格式有效性:

SELECT PARSE_DATE('%m/%d/%Y', '5/15/2014') AS test_date

返回结果为2014-05-15,符合DATE类型的标准格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:43:13