Функция 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(), выполняющая аналогичные операции.