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

如何在Google BigQuery中将指定格式字符串转换为TIMESTAMP?

在BigQuery中将指定日期字符串转换为TIMESTAMP类型的方法

方法1:直接匹配完整格式解析

BigQuery的PARSE_TIMESTAMP函数可根据指定格式字符串解析日期,针对你给出的日期格式,直接匹配完整格式的写法如下:

SELECT PARSE_TIMESTAMP(
  "%a %b %d %Y %H:%M:%S GMT%z (Coordinated Universal Time)",
  "Fri Jul 01 2022 00:00:00 GMT+0000 (Coordinated Universal Time)"
) AS converted_timestamp;

格式符对应说明:

  • %a:匹配缩写星期名称(如Fri)
  • %b:匹配缩写月份名称(如Jul)
  • %d:匹配两位数字日期(如01)
  • %Y:匹配四位数字年份(如2022)
  • %H:%M:%S:匹配24小时制时分秒(如00:00:00)
  • GMT%z:匹配GMT前缀加时区偏移(如GMT+0000,%z识别+0000这类偏移格式)
  • 末尾的(Coordinated Universal Time)是固定文本,直接写入格式字符串完成匹配

方法2:先清理字符串再解析(更灵活)

如果括号内的时区描述可能存在变化(比如不同语言表述),可以先用REGEXP_REPLACE去掉括号部分,再解析简化后的字符串:

SELECT PARSE_TIMESTAMP(
  "%a %b %d %Y %H:%M:%S GMT%z",
  REGEXP_REPLACE("Fri Jul 01 2022 00:00:00 GMT+0000 (Coordinated Universal Time)", r"\s*\(.*\)", "")
) AS converted_timestamp;

这里的正则r"\s*\(.*\)"会匹配从左括号到右括号的所有内容(含前面的空格),替换为空后得到干净的Fri Jul 01 2022 00:00:00 GMT+0000,再用对应格式符解析即可。

两种方法最终都会输出2022-07-01 00:00:00 UTC格式的TIMESTAMP类型结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:01:00