Какое утверждение верно про DATE_TRUNC('week', ts) в PostgreSQL (где ts типа timestamp)?
AВсегда возвращает воскресенье
00:00:00 той недели.BВозвращает номер недели как целое число.
CСбрасывает только часы, но сохраняет день недели.
DВозвращает метку времени начала недели (понедельник
00:00:00) для значения ts.Правильный ответ.
DATE_TRUNC('week', ...) даёт начало недельного бакета; в PostgreSQL неделя начинается в понедельник.Разбор
В PostgreSQL DATE_TRUNC('week', ts) возвращает начало ISO-недели: понедельник 00:00:00. Это удобно для недельной группировки и периодных сравнений.
Проверь себя · 1/3разбор после ответа
Нужно отобрать события ровно за вчерашний календарный день по
created_at типа timestamp, чтобы не задвоить границы при ежедневном запуске. Какое условие в WHERE лучше?Ещё вопросы по теме «Даты и время»
- В таблице `events(user_id, created_at)` поле `created_at` типа `timestamp`. Как посчитать количество событий по дням?
- Есть таблица `orders(created_at, amount)`, где `created_at` типа `timestamp`. Как посчитать выручку по месяцам?
- В таблице `events(created_at)` нужно выбрать события за последние 7 дней относительно текущего момента (`current_timestamp`). Какое условие в `WHERE` корректнее?
- Как получить начало текущей недели (недельный бакет) по текущей дате в PostgreSQL?
- Колонка `created_at` имеет тип `timestamp`. Какой тип данных вернёт `DATE_TRUNC('day', created_at)`?
- Все вопросы по «Даты и время» →