Привет есть один temp #Dates table
который заполняется используя нижеследующие условия.Как выбрать предыдущую дату из таблицы temp #dat в sql?
IF @Period = 'Monthly'
BEGIN
INSERT #Dates
SELECT MAX(DATE) WeekDays FROM TABLENAV WITH (NOLOCK, READUNCOMMITTED)
GROUP BY DATEDIFF(MONTH, 0, DATE)
ORDER BY MAX(DATE) DESC
END
Теперь данные в таблице Темп #dates является
DATE
2013-04-22 00:00:00.000
2013-03-29 00:00:00.000
2013-02-28 00:00:00.000
2013-01-31 00:00:00.000
2012-12-31 00:00:00.000
2012-11-30 00:00:00.000
Я хочу, чтобы получить Previous_Date
, когда я передаю любой Todays_Date
Я пытался, как следующий
DECLARE @Todays_Date datetime = '2013-04-22'
select date from #Dates where MONTH(DATE) = MONTH(@Todays_Date)-1 AND YEAR(DATE) = YEAR(@Todays_Date)
giving ans : 2013-03-29
Но когда меняется год, я не получаю ничего, как анс
Например Если @Todays_Date = '2012-01-31'
он должен вернуть мне 2012-12-31
но ничего не давая.
Помогите мне изменить мой select statement
.
Спасибо легко исправить, я не получил его из-за процедуры сложности :) – Neo