Как преобразовать Local_Timestamp в UTC Timestamp? - PullRequest
2 голосов
/ 16 октября 2019

Метка времени - это местное время сервера DB2. Дата была сохранена в часовом поясе Европа / Берлин.

Я хотел бы преобразовать сохраненную тогда дату в UTC. Есть ли способ рассчитать это в DB2 Dialect?

Ответы [ 3 ]

1 голос
/ 16 октября 2019

Проверьте TO_UTC_TIMESTAMP скалярную функцию

 values TO_UTC_TIMESTAMP(TIMESTAMP'2019-10-01 00:00:00', 'Europe/Berlin')

Обратите внимание, что второй параметр чувствителен к регистру. При необходимости также имеется FROM_UTC_TIMESTAMP.

1 голос
/ 16 октября 2019

Лучше всего использовать функцию TIMEZONE и использовать CURRENT TIMEZONE в качестве справки для ввода.

Функция преобразует дату и время от одного додругой часовой пояс. Регистр CURRENT TIMEZONE показывает разницу между часовым поясом сервера и временем UTC.

0 голосов
/ 16 октября 2019

Как указал @data_henrik, CURRENT TIMEZONE - это специальный регистр, который можно использовать, его можно просто вычесть из CURRENT TIMESTAMP, например:

db2 "values CURRENT TIMESTAMP - CURRENT TIMEZONE"

1                         
--------------------------
2019-10-16-11.36.24.025651

  1 record(s) selected.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...