Как изменить datestyle в PostgreSQL?
В postgres у меня есть таблица с столбцом даты. Теперь postgres позволяет мне записывать дату в формате Y-m-d. Но мне нужна дата в формате d/m/Y. Как его изменить?
Когда я это сделаю:
show datestyle;
Я получаю:
"ISO, DMY"
И введите дату в таблице в этом формате 13/02/2009
Но когда я снова закрываю и открываю таблицу, я вижу это 2009-02-13
. JDBC также дает мне дату в этом формате. Что я делаю неправильно?
Ответы
Ответ 1
yyyy-mm-dd - рекомендуемый формат для поля даты, его формат ISO 8601.
Вы можете изменить формат в файле postgresql.conf.
В документе указано
Сроки даты/времени могут быть выбраны пользователем с помощью SET datestyle, параметр DateStyle в postgresql.conf конфигурационный файл или переменную среды PGDATESTYLE на сервера или клиента. Функция форматирования to_char также доступный как более гибкий способ форматирования вывода даты/времени.
Надеюсь, это поможет!
Ответ 2
Используйте to_char с вашей датой следующим образом:
select to_char(date_column1, 'Mon/DD/YYYY');
Ответ 3
Если это вообще возможно, не используйте DATESTYLE
. Это повлияет на весь код вашего сеанса, включая такие вещи, как хранимые процедуры, которые могут не ожидаться, и, возможно, не установили явное переопределение DATESTYLE
в их определениях.
Если вы можете, используйте to_char
для вывода даты и to_timestamp
для ввода даты всякий раз, когда вам нужно использовать любые форматы дат, которые могут быть неоднозначными, например D/M/Y
. Использовать даты ISO в остальное время.
Ответ 4
вы также можете использовать команду
set datestyle to [your new datestyle];
в консоли postgreSQL.