Нужно получить колонку event_date типа date из created_at (тип timestamp) для JOIN с календарной таблицей по дате. Какое выражение подойдёт лучше всего?

Acreated_at::date
BDATE_TRUNC('day', created_at)
CEXTRACT(DAY FROM created_at)
DDATE_TRUNC('month', created_at)::date
Правильный ответ. Если нужен именно тип date, используйте приведение ::date.

Разбор

DATE_TRUNC('day', created_at) даёт начало дня, но возвращает timestamp. Для JOIN с календарём, где ключ обычно типа date, удобнее сразу получить created_at::date.

Проверь себя · 1/3разбор после ответа
Колонка created_at имеет тип timestamp. Какой тип данных вернёт DATE_TRUNC('day', created_at)?
Тренировать SQL в Telegram

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