PostgreSQL - функция DATE_TRUNC

Опубликовано: 30 Марта, 2022

В PostgreSQL функция DATE_TRUNC используется для усечения типа отметки времени или типа интервала с определенным и высоким уровнем точности.

 Синтаксис: date_trunc ('datepart', field)

DatePart Аргумент в приведенном выше синтаксисе используется для усечения одного из полей , перечисленных ниже типа поля:

  • тысячелетие
  • век
  • десятилетие
  • год
  • четверть
  • месяц
  • неделя
  • день
  • час
  • минута
  • второй
  • миллисекунды
  • микросекунды

Аргумент поля содержит значение типа TIMESTAMP или значение типа INTERVAL для усечения. Это также может быть выражение, возвращающее один из вышеупомянутых типов. Функция date_trunc обычно возвращает значение типа TIMESTAMP или значение типа INTERVAL.

Пример 1:

Следующий оператор усекает значение TIMESTAMP до части даты часа:

SELECT DATE_TRUNC("hour", TIMESTAMP "2020-03-17 02:09:30");

Выход:

Пример 2:

В приведенном ниже запросе подсчитывается количество арендованных персоналом в год из таблицы аренды образца базы данных, т. Е. Dvdrental :

 ВЫБРАТЬ
    Staff_id,
    date_trunc ('год', rental_date) y,
    COUNT (rental_id) аренда
ИЗ
    аренда
ГРУППА ПО
    Staff_id, y
СОРТИРОВАТЬ ПО
    Staff_id

Выход: