Колонка created_at имеет тип timestamp. Какой тип данных вернёт DATE_TRUNC('day', created_at)?
AТип
timestamp: время будет 00:00:00 для выбранного дня, тип входа сохраняется на выходеBТип
date: только календарная дата без компоненты времени, остаётся одно значение датыCЦелое число
int: порядковый номер дня в месяце, полученный из исходного значения timestampDСтроку формата
'YYYY-MM-DD': текстовое представление даты в типе text или varcharПравильный ответ.
DATE_TRUNC сохраняет тип timestamp и обнуляет более мелкие компоненты времени.Разбор
При входе типа timestamp результат DATE_TRUNC('day', created_at) тоже будет timestamp, но с временем начала дня 00:00:00. Если нужен именно date, добавьте приведение created_at::date или оборачивайте DATE_TRUNC в CAST. Целое число или строка — типы, которые DATE_TRUNC не возвращает.
Проверь себя · 1/3разбор после ответа
Колонка
created_at имеет тип timestamp. Какой тип данных вернёт DATE_TRUNC('day', created_at)?Ещё вопросы по теме «Даты и время»
- В таблице `events(user_id, created_at)` поле `created_at` имеет тип отметки времени с долями секунд. Как корректно посчитать количество событий по дням?
- Есть таблица `orders(created_at, amount)`, где `created_at` имеет тип `timestamp`. Как посчитать выручку по месяцам?
- В таблице `events(created_at)` нужно выбрать события за последние 7 дней с точностью до текущего момента (включая сегодняшние, ещё не завершённые сутки). Какое условие в `WHERE` корректнее?
- Как получить начало текущей недели (недельный бакет) по текущей дате в PostgreSQL?
- В таблице `events(user_id, created_at)` колонка `created_at` типа `timestamptz` (события записаны в UTC). Нужно посчитать DAU по дням в часовом поясе Москвы и не зависеть от часового пояса сессии. Какой бакет правильный?
- Все вопросы по «Даты и время» →