将本地日期时间转换为 UTC BigQuery

Convert local datetime to UTC BigQuery

给定两列,我的日期时间数据存储为本地日期时间和本地时区。第一列包含本地日期时间和第二个本地时区(见下图):

如何创建一个包含 UTC 日期时间的列?

到目前为止我已经尝试过:

SELECT
        localdatetime, localtimezone,
        PARSE_TIMESTAMP('%b %d, %Y, %r', LocalDateTime, "UTC") AS parsed_datetime
    FROM `xx`.yy.zz
    WHERE Localtimezone = "Europe/Ljubljana"

但是我得到的结果显然是错误的,因为 BQ 不知道它从哪个时区转换。

BigQuery 会自动转换为 UTC,因此您需要指定的实际上是您要转换的时区。

请尝试以下操作:

select 
    localdatetime 
    , localtimezone 
    , PARSE_TIMESTAMP('%b %d, %Y, %r', LocalDateTime, localtimezone ) AS parsed_datetime
from sample_data

有关更多信息,请参阅此处的文档 https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#parse_timestamp