Я загрузил данные в BigQuery с восточными временными метками, которые хранятся как исходные временные метки из исходных данных:
placed_eastern
-------------------
2018-07-23 00:00:03
BigQuery по умолчанию предполагает, что стандартные временные метки должны храниться как UTC:
2018-07-23 00:00:03 UTC
Проблема: мне нужно исправить это предположение о часовом поясе.
В настоящее время у меня есть некрасивый хак для исправления этой ошибки, чтобы гарантировать, что отметки времени хранятся правильно.Это извлекает части даты и времени из отметки времени в виде строк, объединяет их, а затем воссоздает отметку времени.
select
placed_eastern,
timestamp(
concat(
cast(extract(date from placed_eastern) as string),
' ',
cast(extract(time from placed_eastern) as string)
),
'US/Eastern'
) as actual_placed_utc
Вопрос. Существует ли элегантный документированный способ решения этой проблемы?