Выборка данных за прошлый месяц определенного числа
Таблица: period datetime2, den int, price numeric(18,2), price_day_29
Мне необходимо справа от price_day_29 вставить еще один столбец, НО при условии, что там данные будут отображаться за прошлый месяц, т.е. 2022-03-29
Сейчас я сделал просто запрос, чтобы вывести подходящие данные. Далее уже перепишу, как мне надо будет. В данном случае считает от текущего дня, а мне надо от именно от 29 числа любого месяца, т.е 2022-04(-1)-29.
select *
from table
where period>=dateadd(month,datediff(month,0,current_timestamp)-1,0)
AND period< dateadd(month,datediff(month,0,current_timestamp) ,0)
p.s. то что в феврале бывает 28 дней то это не так страшно в моем случае)
Ответы (2 шт):
Автор решения: Vitaliy Zlobin
→ Ссылка
select *
,IIF(den = 29 AND DATEDIFF(MONTH, [period], GETDATE()) = 0, price, 0) AS price_day_29
,IIF(den = 29 AND DATEDIFF(MONTH, [period], GETDATE()) = 1, price, 0) AS price_day_29_prev
from table
where period>=dateadd(month,datediff(month,0,current_timestamp)-1,0)
AND period< dateadd(month,datediff(month,0,current_timestamp) ,0)

