google-bigquery - 如何根据 bigquery 中的时区列将 UTC 时间转换为本地时区?
问题描述
我一直在尝试使用 GBQ 中的标准 SQL 将每个 UTC 时间转换回适当的本地时区,但找不到动态执行此操作的好方法,因为我可能在数据库中有大量不同的时区名称。我想知道是否有人有想法?
我的表包含 2 个不同的列(见截图)
解决方案
以下示例适用于 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
推荐阅读
- wpf - WPF/MVVM 应用程序中的 RDLC 报告。如何显示外部图像
- python - Confluent Kafka:流式传输网络摄像头提要时 Kafka Consumer 滞后
- algorithm - 优先区间调度算法
- java - Android 谷歌地图在生产中显示白屏
- sql - 选择和内连接中的 DB2 SQL If 语句
- javascript - 将双维数组传递给控制器
- python - 选择要从 excel 读取到 pandas 数据框的行号
- prometheus - 如何在内置 Prometheus 表达式浏览器中显示多个向量
- python - 根据给定任务编写产量生成器函数
- vb.net - 在面板 VB.Net 中自动调整 WinForm