【问题标题】:How to convert UTC time to local timezones based on timezone column in bigquery?如何根据 bigquery 中的时区列将 UTC 时间转换为本地时区?
【发布时间】:2020-03-24 04:06:12
【问题描述】:

我一直在尝试使用 GBQ 中的标准 SQL 将每个 UTC 时间转换回适当的本地时区,但找不到动态执行此操作的好方法,因为我可能在数据库中有大量不同的时区名称。我想知道是否有人有想法?

我的表格包含 2 个不同的列(见截图)

【问题讨论】:

  • 预期的输出是什么? - 请澄清
  • @MikhailBerlyant 如果有意义的话,我希望有一个名为“local_time”的新专栏。谢谢。

标签: google-bigquery timezone timestamp-with-timezone


【解决方案1】:

以下示例适用于 BigQuery 标准 SQL

#standardSQL
WITH `project.dataset.yourtable` AS (
  SELECT 'Pacific/Honolulu' timezone, TIMESTAMP '2020-03-01 03:41:27 UTC' UTC_timestamp UNION ALL
  SELECT 'America/Los_Angeles',  '2020-03-01 03:41:27 UTC'
)
SELECT *, 
  DATETIME(UTC_timestamp, timezone) AS local_time
FROM `project.dataset.yourtable`

有输出

Row timezone            UTC_timestamp           local_time   
1   Pacific/Honolulu    2020-03-01 03:41:27 UTC 2020-02-29T17:41:27  
2   America/Los_Angeles 2020-03-01 03:41:27 UTC 2020-02-29T19:41:27  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 2017-03-20
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    相关资源
    最近更新 更多