← Все уроки

Дата и время в SQL: date_trunc, EXTRACT, INTERVAL

Работа с датами в SQL: date_trunc для группировки по периодам, EXTRACT для частей даты, INTERVAL для арифметики, часовые пояса и TO_CHAR. С примерами.

Урок курса «SQL с нуля» — открой бесплатной регистрацией
Ниже — план урока. Зарегистрируйся за 30 секунд, чтобы открыть полную теорию и 10 задач с автопроверкой прямо в браузере (PostgreSQL и SQLite с автопроверкой), сохранять прогресс и пройти все 10 частей бесплатно.
Шпаргалка: все unit'ы DATE_TRUNC — year/quarter/month/week/day/hour/minute/second + результаты для входа 2026-05-17 14:32:45

TL;DR: DATE_TRUNC('month', col) округляет timestamp до начала месяца. EXTRACT(YEAR FROM col) извлекает год. col + INTERVAL '1 day' — арифметика. TO_CHAR(col, 'YYYY-MM') — форматирование в строку. Часовые пояса через AT TIME ZONE. 90% аналитических запросов используют DATE_TRUNC для группировки.

В этой части:

Что разберёшь в этом уроке

Частые вопросы

Как сгруппировать данные по месяцам?

DATE_TRUNC('unit', timestamp) округляет вниз до начала единицы.

Шпаргалка: все unit'ы DATE_TRUNC — year/quarter/month/week/day/hour/minute/second + результаты для входа 2026-05-17 14:32:45

Как извлечь часть даты?

Шпаргалка: EXTRACT vs DATE_TRUNC side-by-side — что возвращает каждая, для чего применяется

EXTRACT(unit FROM timestamp) — возвращает число:

Как работать с часовыми поясами?

В PG два типа: TIMESTAMP (без TZ) и TIMESTAMPTZ (с TZ).

Правило: всегда храни в UTC (TIMESTAMPTZ), конвертируй для отображения:

Какие 4 ошибки с датами?

DATE_TRUNC или EXTRACT для группировки по месяцам?

DATE_TRUNC. Он возвращает timestamp (2026-05-01), что даёт правильную сортировку и формат.

Что такое NOW(), CURRENT_DATE, CURRENT_TIMESTAMP?

Free — после регистрации
0 ₽
  • Все 10 уроков курса + 92 интерактивных задач
  • 5 SQL и 5 Python-задач в тренажёре
  • 5 кейсов · 10 метрик · 1 AI-собеседование
Начать бесплатно →
Pro
1 999 ₽/мес
  • Все 576 SQL + 561 Python-задач
  • 627 кейсов · 420 метрик · 698 заданий
  • Безлимит AI-собеседований с разбором
Оформить Pro →