#presto #amazon-athena #trino
#presto #amazon-athena #trino
Вопрос:
Я пытаюсь найти способ преобразовать current_timestamp в другой часовой пояс.
Функция current_timestamp в Simba Athena по умолчанию выдает мне временную метку в формате UTC. Я хотел бы получить такую же временную метку в часовом поясе CET. Пожалуйста, обратите внимание, что я хотел бы автоматизировать это преобразование в моем запросе.
Я попробовал функцию convert_timezone (‘CET’, current_timestamp), но она не распознается в AWS Athena
В более простых работах я ищу замену для функции SQL Server GETUTCDATE() в Presto, за исключением того, что я хотел бы получить временную метку CET. Есть предложения?
Ответ №1:
current_timestamp
в Trino (ранее известном как Presto SQL) возвращает timestamp with time zone
значение в терминах текущего часового пояса сеанса. Например, если клиент находится в America/Los_Angeles
часовом поясе:
trino> select current_timestamp;
_col0
---------------------------------------------
2020-08-26 09:14:43.259 America/Los_Angeles
(1 row)
Вы можете проверить, каков текущий часовой пояс для сеанса с помощью current_timezone()
:
trino> select current_timezone();
_col0
---------------------
America/Los_Angeles
(1 row)
Чтобы преобразовать a timestamp with time zone
в другой часовой пояс, вы можете использовать AT TIME ZONE
синтаксис:
trino> select current_timestamp at time zone 'America/New_York';
_col0
------------------------------------------
2020-08-26 12:18:37.901 America/New_York
(1 row)