В PostgreSQL какой формат даты и времени для 2019-04-23T22: 34: 40.253-05: 00? - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь запустить SQL, в котором один выбранный столбец имеет тип datetime.

Я хочу выбрать его как строку, поэтому я использую to_char.Я передаю имя столбца, но застрял со вторым параметром to_char

Последняя строка должна быть отформатирована следующим образом

2019-04-23T22:34:40.253-05:00

В каком формате мне нужно передать какВторой аргумент to_char() в PostgreSQL?

to_char(create_date, '???')

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Это должно быть ваше решение:

SELECT to_char(current_timestamp, 'YYYY-MM-DD"T"HH24:MI:SS.MSTZH:TZM');

            to_char            
-------------------------------
 2019-05-14T11:52:57.470+02:00
(1 row)
0 голосов
/ 14 мая 2019

Ответ Лоренца Альбе - путь в Postgres 11 и выше. Но, по-видимому, TZH и TZM неизвестны в более старых версиях. Вместо него можно использовать OF. Единственная проблема с OF заключается в том, что он отображает смещенные часы только для некоторых часовых поясов (на самом деле не удалось найти образец для этого). Поэтому вы должны добавить протокол вручную, если его там нет.

select to_char(now(), 'YYYY-MM-DD"T"HH24:MI:SS.MS')
       || CASE
            WHEN to_char(now(), 'OF') LIKE '%:%' THEN 
              to_char(now(), 'OF')
            ELSE
              to_char(now(), 'OF') || ':00'
          END;

дб <> скрипка

...