Преобразовать метку времени UT C в EST SQL DB2 - PullRequest
0 голосов
/ 27 января 2020

Преобразование UT C Метка времени в EST SQL DB2.

У меня под запросом работает нормально, но мне нужно только дата в одном столбце и метка времени в другом столбце.

Запрос:

SELECT 
    TIMESTAMP(UTC_TIMESTAMP) + CURRENT TIMEZONE AS DATE,
    TIME(UTC_TIMESTAMP) + CURRENT TIMEZONE AS TIMESTAMP,

Желаемый вывод:

Col_EST_DATE    Col_EST_Time

2020-01-27      14:46:00    

Ответы [ 2 ]

0 голосов
/ 28 января 2020

Я думаю, что все, что вам нужно, это две строки ниже

SELECT 
    DATE(UTC_TIMESTAMP + CURRENT TIMEZONE) AS DATE
,   TIME(UTC_TIMESTAMP + CURRENT TIMEZONE) AS TIMESTAMP
FROM
    TABLE(VALUES(current_timestamp)) T(UTC_TIMESTAMP)

, что возвращает

DATE      |TIMESTAMP
----------|---------
2020-01-27| 22:14:24
0 голосов
/ 27 января 2020

Если тип данных столбца Db2 уже имеет значение TIMESTAMP, вам не нужна дополнительная функция отметки времени. Применить преобразования формата после даты арифмети c.

Попробуйте:

select
to_char(date(timestamp(utc_timestamp + current timezone)), 'YYYY-MM-DD') as "Col_EST_DATE",
time(utc_timestamp + current timezone) as "Col_EST_Time",
...
from ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...