Таблица с терабайтами данных в bigquery имеет несколько столбцов, заданных как строковый формат, но на самом деле они содержат строки даты и времени, например
2016-10-24 15:00:00
Я попытался ответить от эта ссылка, чтобы преобразовать (CAST) поля в формат временной метки, как показано ниже.
SELECT
CAST( MURDER_DATE AS TIMESTAMP) AS CONVERTED_MURDER_DATE, *
FROM `death_list`;
Это работает, но преобразует все строки в метки времени с часовым поясом UTC, как показано ниже.
2007-03-23 15:00:00.000 UTC
Мне нужны данные в другом часовом поясе. Есть подсказка?


Попробуйте использовать
DATETIME(CAST( MURDER_DATE AS TIMESTAMP), "Australia/Sydney"))
На мой взгляд, это текущее ограничение BigQuery:
На данный момент в нашей компании мы решили хранить все в Timestamp (то есть в формате UTC), и мы никогда не используем Datetime из-за отсутствия точности относительно часового пояса. Затем, если клиент хочет получить информацию в другом часовом поясе, он должен выполнить преобразование при чтении данных.