TO_DATE в PostgreSQL: преобразование строки в дату

Функция TO_DATE в PostgreSQL предназначена для преобразования строки в тип данных DATE согласно заданному формату. Она часто используется для импорта и обработки данных из внешних источников.

Синтаксис функции TO_DATE

Стандартный синтаксис функции выглядит следующим образом:

TO_DATE(строка, формат);
  • строка — текстовое значение, которое нужно преобразовать в дату.
  • формат — шаблон, описывающий структуру исходной строки.

Примеры использования TO_DATE

Простой пример преобразования

Пример преобразования строки в дату:

SELECT TO_DATE('06-03-2025', 'DD-MM-YYYY') AS converted_date;

Результатом выполнения будет значение даты типа DATE.

Использование различных форматов даты

Использование различных шаблонов формата:

SELECT TO_DATE('2025/03/06', 'YYYY/MM/DD') AS date_format1,
       TO_DATE('March 6, 2025', 'Month DD, YYYY') AS date_format2;

Оба запроса корректно преобразуют строки в тип даты.

Популярные элементы формата для TO_DATE

  • YYYY — год (2025)
  • MM — месяц (03)
  • DD — день (06)
  • HH24 — часы в 24-часовом формате (14)
  • MI — минуты (30)
  • Month — полное название месяца (March)

TO_DATE в операциях сравнения

Использование функции TO_DATE при сравнении дат:

SELECT * FROM events
WHERE event_date > TO_DATE('2025-03-01', 'YYYY-MM-DD');

Этот запрос вернет записи событий после указанной даты.

Возможные ошибки при использовании TO_DATE

Если строка не соответствует формату, PostgreSQL вернёт ошибку. Например:

SELECT TO_DATE('2025-13-01', 'YYYY-MM-DD');

Этот запрос вызовет ошибку, так как месяц не может быть равен 13.