Как изменить стиль данных в PostgreSQL?

в postgres у меня есть таблица с столбцом даты. Теперь postgres позволяет мне писать дату в формате Y-m-D. Но мне нужна дата в формате d/m/Y. Как это изменить?

когда я делаю:

   show datestyle;

Я:

 "ISO, DMY"

и введите дату в таблицу в этом формате 13/02/2009

но когда я закрываю и открываю стол снова, я вижу это 2009-02-13. JDBC также дает мне дату в этом формате. Что я делаю не так?

4 ответов


гггг-ММ-ДД рекомендуемый формат для поля даты, его формат ISO 8601.

вы можете изменить формат в PostgreSQL.файл conf.

на документ государства

стили даты/времени могут быть выбраны пользователем с помощью набора команда datestyle, параметр DateStyle в postgresql.conf файл конфигурации или переменная среды PGDATESTYLE на сервер или клиент. В to_char функция форматирования также доступен как более гибкий способ форматирования вывода даты / времени.

надеюсь, что это помогает!


использовать to_char функция с вашей датой следующим образом:

select to_char(date_column1, 'Mon/DD/YYYY');

вы также можете использовать команду

set datestyle to [your new datestyle];

в консоли postgreSQL.


если это вообще возможно, не используйте DATESTYLE. Это повлияет на весь код в вашем сеансе, включая такие вещи, как хранимые процедуры, которые могут не ожидать его и, возможно, не установили явное переопределение DATESTYLE в своих определениях.

если можете, используйте to_char для вывода даты и to_timestamp для ввода даты, когда вам нужно использовать любые форматы дат, которые могут быть неоднозначными, как D/M/Y. Используйте даты ISO остальное время.