Функции: дата и времяPostgreSQL
DATE_TRUNC()
Усекает дату/время до указанной точности. Незаменима для группировки по периодам.
Синтаксис
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 — приведите при необходимости.