Как создать конкретную дату в PostgreSQL?

#postgresql #date

Вопрос:

Мне нужно выполнить INSERT заявление, написав дату в определенном YYYY-MM-DD формате.

to_date('2021-09-28','YYYY-MM-DD') Сработало бы?

Комментарии:

1. date значения не имеют «формата». Так что совершенно неважно, используете ли вы to_date('2021-09-28', 'yyyy-mm-dd') или to_date('28.09.2021', 'dd.mm.yyyy')

Ответ №1:

YYYY-MM-DD является стандартным форматом даты ISO 8601 и однозначным значением по умолчанию в Postgres. Просто вставьте свою дату буквально.

Тип date хранится внутри в виде 4-байтового целого числа, которое не сохраняет никакого формата. Вы можете форматировать вывод любым удобным для вас способом с некоторыми базовыми настройками языка или настройками вашего клиента или явно с to_char() помощью .

Ввод с to_date('2021-09-28','YYYY-MM-DD') работами тоже. Но вам не нужно использовать функцию to_date() при работе с форматом ISO.