您好有一個temp #Dates table
它是通過使用以下條件填充。如何從sql的temp #date表中選擇以前的日期?
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
但是,當新年的變化,我越來越沒有什麼作爲ANS
例如 如果@Todays_Date = '2012-01-31'
它應該返回我2012-12-31
但是給什麼。
幫我修改我的select statement
。
感謝很多簡單的解決方法我沒有得到它,因爲程序複雜:) – Neo 2013-04-24 08:54:20