Справочник по функциям

TO_DATE

Аналог в MySQL:

Преобразует строку в дату по шаблону формата.

PostgreSQL 17.9
TO_DATE(string, format)
string
Строка с датой
text
format
Шаблон формата, например DD.MM.YYYY
text

Возвращаемое значение

Дата (date); ошибка, а не NULL, если поле не удаётся прочитать или такой даты не существует

Примеры

Дата из текста с месяцем

PostgreSQL 17.9
SELECT TO_DATE('November 13, 1998', 'Month DD, YYYY');
to_date
1998-11-13

Дата в формате DD.MM.YYYY

PostgreSQL 17.9
SELECT TO_DATE('08.03.2024', 'DD.MM.YYYY');
to_date
2024-03-08

Лишний текст и короткий год

PostgreSQL 17.9
SELECT TO_DATE('08.03.2024 garbage', 'DD.MM.YYYY') AS extra_text,
	TO_DATE('8/3/24', 'DD.MM.YYYY') AS short_year;
extra_textshort_year
2024-03-080024-03-08

Подробности

Строка разбирается нестрого: лишний текст после шаблона пропускается, а число может занимать меньше цифр, чем в шаблоне. Поэтому TO_DATE('8/3/24', 'DD.MM.YYYY') вернёт 0024-03-08: двузначный год читается как есть, а не как 2024.

Для строки в формате YYYY-MM-DD проще использовать ::date: такое приведение проверяет строку целиком и не пропускает лишний текст.

Смотрите также

Где изучить