SQLLab

DATE_TRUNC()

PostgreSQL

Усекает дату/время до указанной точности. Незаменима для группировки по периодам.

Синтаксис

DATE_TRUNC(field, date)

Поля: microseconds, milliseconds, second, minute, hour, day, week, month, quarter, year

Примеры

Начало месяца
SELECT DATE_TRUNC('month', NOW());
2026-04-01 00:00:00+03
Продажи по месяцам
SELECT DATE_TRUNC('month', created_at) AS month, SUM(amount)
FROM orders
GROUP BY month
ORDER BY month;
Начало недели
SELECT DATE_TRUNC('week', CURRENT_DATE);
2026-04-07

Важно знать

  • Неделя начинается с понедельника.
  • Возвращает timestamp, не date — приведите при необходимости.

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

Закрепите на практике

Решайте реальные SQL-задачи в тренажёре

Открыть тренажёр →