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

BigQuery中将字符串列转为DATETIME类型失败求助

解决BigQuery字符串转日期时间及上传类型识别问题

一、解析错误的原因及修复

你用的格式串'YY/MM/DD HH24:MI:SS'和数据格式不匹配:

  • 数据中年份是4位(2016),但YY只匹配2位年份,导致解析到第8位时格式不对应,触发报错。
  • 数据的日期部分是日/月/年(04/12/2016),而你指定的是年/月/日顺序,逻辑也不对。

正确的转换SQL应该用BigQuery支持的格式符,针对'04/12/2016 02:47:30'这种日/月/4位年 24小时:分:秒的格式,使用%d/%m/%Y %H:%M:%S作为格式参数:

-- 临时查询验证转换结果
SELECT DATETIME_PARSE(your_column_name, '%d/%m/%Y %H:%M:%S') AS converted_datetime
FROM your_dataset.your_table;

-- 若要永久修改表结构,可新增列并赋值
ALTER TABLE your_dataset.your_table
ADD COLUMN converted_datetime DATETIME;

UPDATE your_dataset.your_table
SET converted_datetime = DATETIME_PARSE(your_column_name, '%d/%m/%Y %H:%M:%S')
WHERE your_column_name IS NOT NULL;

二、CSV上传后列类型仍为STRING的处理

Google Sheets里转换日期类型后,导出CSV时还是会以文本格式存储原始的日期字符串(而非ISO标准格式),所以BigQuery依然识别为STRING。解决方式有两种:

  • 方式一:在BigQuery中转换:直接用上面的SQL完成转换,无需修改原始文件。
  • 方式二:修改源文件格式:在Google Sheets中将日期列转换为ISO标准格式(YYYY-MM-DD HH:MM:SS),再导出CSV上传,此时BigQuery会自动识别为DATETIME类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 20:25:53