DATE_PART в PostgreSQL: извлечение части даты

Функция DATE_PART в PostgreSQL используется для получения отдельной части даты или времени, например года, месяца, дня, часа и т. д.

Синтаксис

DATE_PART('поле', дата)
  • поле — строка, указывающая, какую часть даты или времени необходимо извлечь.
  • дата — значение типа DATE, TIMESTAMP или INTERVAL.

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

Извлечение года из даты

SELECT DATE_PART('year', DATE '2024-03-05');

Результат:

 2024

Извлечение месяца из даты

SELECT DATE_PART('month', TIMESTAMP '2024-03-05 14:23:45');

Результат:

 3

Извлечение дня из временной метки

SELECT DATE_PART('day', TIMESTAMP '2024-03-05 14:23:45');

Результат:

 5

Извлечение часов и минут

SELECT DATE_PART('hour', TIMESTAMP '2024-03-05 14:23:45');
SELECT DATE_PART('minute', TIMESTAMP '2024-03-05 14:23:45');

Результат:

 14
 23

Извлечение секунд из интервала

SELECT DATE_PART('second', INTERVAL '2 hours 30 minutes 15.75 seconds');

Результат:

 15.75

Поддерживаемые значения для поле

  • year — год
  • month — месяц
  • day — день
  • hour — час
  • minute — минута
  • second — секунда
  • quarter — квартал
  • week — номер недели в году
  • dow — день недели (0 = воскресенье, 1 = понедельник и т. д.)
  • doy — день в году (1-365 или 1-366 для високосного года)
  • epoch — количество секунд с 1970-01-01 00:00:00 UTC

Особенности

  • Работает как с датами (DATE), так и с временными метками (TIMESTAMP, TIMESTAMPTZ) и интервалами (INTERVAL).
  • Для дней недели (dow) используется нумерация от 0 (воскресенье) до 6 (суббота).
  • Альтернативой может быть функция EXTRACT(), выполняющая аналогичные операции.