BigQuery是否有将IST、PST等本地时区转换为UTC的函数
BigQuery 本地时区时间转UTC解决方案
BigQuery原生支持任意时区时间转UTC的需求,具体实现方式如下:
- 你当前使用的
PARSE_TIMESTAMP函数本身就能满足需求,该函数的第三个参数用于指定输入时间字符串所属的时区,函数返回的TIMESTAMP类型本身为UTC标准时间戳,可直接用于存储或后续计算。注意:如果你的输入本地时间字符串末尾没有代表UTC标识的
Z,需要删除格式串中的Z,否则会触发格式匹配报错。
正确示例(解析IST时区时间字符串为UTC时间戳):SELECT PARSE_TIMESTAMP('%Y-%m-%dT%H:%M:%E*S', created_at, 'Asia/Kolkata') AS utc_timestamp - 如果你需要将转换后的UTC时间戳输出为指定格式的UTC时间字符串,可搭配
FORMAT_TIMESTAMP函数使用:-- 解析IST时区字符串为UTC时间戳,再格式化为带Z标识的UTC时间字符串 SELECT FORMAT_TIMESTAMP('%Y-%m-%dT%H:%M:%E*SZ', PARSE_TIMESTAMP('%Y-%m-%dT%H:%M:%E*S', created_at, 'Asia/Kolkata')) AS utc_time_str - 如果你持有的是DATETIME类型的本地时区时间,可直接使用
DATETIME_TO_TIMESTAMP函数转换:-- 示例:将IST时区的DATETIME转换为UTC时间戳 SELECT DATETIME_TO_TIMESTAMP(ist_datetime, 'Asia/Kolkata') AS utc_timestamp - 注意事项:指定时区时请使用IANA时区全称(如
Asia/Kolkata代表IST、America/Los_Angeles代表PST/PDT),不要使用时区缩写,避免因多地区缩写冲突导致转换错误。
内容的提问来源于stack exchange,提问作者Asim
相关产品推荐
相关产品推荐

