Вопрос проверяет понимание временных типов данных и умение выбирать корректный тип для хранения и вычислений.
date хранит только календарную дату без времени. datetime (в PostgreSQL — timestamp) хранит дату и точное время. Разница важна для фильтрации, группировки и точности расчётов. Неправильный выбор типа часто приводит к логическим ошибкам.
DATE — тип данных, представляющий только дату
TIMESTAMP (datetime) — тип данных, представляющий дату и время
Перед деталями важно зафиксировать мысль:date отвечает на вопрос когда (день), а datetime — когда именно (момент).
DATEХранит год, месяц, день
Не содержит времени
Удобен для:
отчётов по дням
дат рождения
календарных ограничений
Пример:
SELECT CURRENT_DATE;
TIMESTAMPХранит дату и время
Может учитывать часовой пояс
Используется для:
логов
событий
точной аналитики
Пример:
SELECT NOW();
Использовать TIMESTAMP, когда нужна только дата, и потом обрезать время в запросах.
Тип времени нужно выбирать по требуемой точности. Чем выше точность — тем больше ответственности за корректную обработку.