Для сравнения период-к-периоду нужно получить начало прошлого календарного месяца. Какое выражение вернёт начало прошлого месяца?

ADATE_TRUNC('day', current_date) - INTERVAL '1 month'
BDATE_TRUNC('month', current_date) - INTERVAL '30 days'
Ccurrent_date - INTERVAL '1 month'
DDATE_TRUNC('month', current_date) - INTERVAL '1 month'
Правильный ответ. Чтобы получить границу календарного периода, сначала используйте DATE_TRUNC, затем сдвигайте через INTERVAL.

Разбор

Чтобы взять ровно прошлый календарный месяц, сначала найдите начало текущего месяца DATE_TRUNC('month', current_date), затем сдвиньте границу на месяц назад: - INTERVAL '1 month'. Вариант с - INTERVAL '30 days' может дать неверную границу, потому что длина месяцев разная.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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