Как преобразовать время UT C в местные часовые пояса на основе столбца часового пояса в bigquery? - PullRequest
0 голосов
/ 24 марта 2020

Я пытался преобразовать каждое время UT C обратно в соответствующий местный часовой пояс, используя стандартное значение SQL в GBQ, но не смог найти хороший способ сделать это динамически, потому что у меня могло быть множество различных часовых поясов. имя в базе данных. Мне интересно, если у кого-нибудь есть идея?

В моей таблице 2 разных столбца (см. Скриншот)

enter image description here

1 Ответ

1 голос
/ 24 марта 2020

Ниже приведен пример для BigQuery Standard 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  
...