Колонка created_at типа timestamp. Какое утверждение про created_at::date и DATE_TRUNC('day', created_at) верно?

Acreated_at::date всегда возвращает timestamp, а DATE_TRUNC('day', created_at)date.
BDATE_TRUNC('day', created_at) округляет время до ближайшего дня, а не обрезает.
Ccreated_at::date возвращает тип date, а DATE_TRUNC('day', created_at) возвращает тип timestamp (с временем начала дня).
DОба выражения всегда возвращают одинаковый тип данных.
Правильный ответ. Приведение ::date меняет тип, а DATE_TRUNC сохраняет timestamp и обнуляет время ниже указанной гранулярности.

Разбор

При created_at::date вы получаете календарную дату без времени. DATE_TRUNC('day', created_at) возвращает timestamp на 00:00:00 этого дня. Это влияет на формат результата и на дальнейшие вычисления/сравнения.

Проверь себя · 1/3разбор после ответа
Колонка created_at типа timestamptz. Таймзона сессии (TimeZone) может отличаться между задачами. Как гарантированно сгруппировать события по UTC-дням?
Тренировать SQL в Telegram

Ещё вопросы по теме «Даты и время»