SQL: работа с датами и временем
DATE и DATETIME
DATE хранит дату в формате YYYY-MM-DD, например
2026-08-15. DATETIME хранит дату и время в формате
YYYY-MM-DD HH:MM:SS, например 2026-08-15 14:30:00.
Сравнение и диапазоны
WHERE registration_date > '2026-03-01'
WHERE registration_date BETWEEN '2026-01-01' AND '2026-05-31'
Для дат работают операторы >, <, >=,
<= и =. Границы BETWEEN включаются.
Части даты и времени
YEAR(date)
MONTH(date)
DAY(date)
HOUR(datetime)
MINUTE(datetime)
SECOND(datetime)
DATE(datetime)
Текущие дата и время
CURRENT_DATE
NOW()
Интервалы и разница между датами
DATEDIFF(date1, date2)
DATE_ADD(date, INTERVAL 7 DAY)
DATE_SUB(date, INTERVAL 5 DAY)
DATEDIFF() вычисляет первая дата − вторая дата и возвращает
количество дней. В интервалах можно использовать DAY,
MONTH, YEAR, HOUR и MINUTE.
Даты вместе с агрегатами и окнами
MIN(created_at)
MAX(created_at)
COUNT(*)
SUM(amount)
LAG(created_at) OVER (
PARTITION BY user_id
ORDER BY created_at
)
MIN() находит самый ранний момент, MAX() — самый поздний.
LAG() возвращает значение из предыдущей строки внутри группы.
Как выполняются запросы на сайте
Для каждого запуска сайт создаёт отдельную временную базу в памяти, выполняет начальный код и запрос ученика, а затем полностью удаляет базу вместе со всеми таблицами. Учебные функции MySQL из этой статьи поддерживаются режимом совместимости редактора.