こんにちはtemp #Dates table
、次の条件を使用して入力されたものがあります。
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
しかし、 Year が変わると、 ans として何も得られません
たとえば、@Todays_Date = '2012-01-31'
私を返す必要があります2012-12-31
が、何も与えない場合。
私の を変更するのを手伝ってくださいselect statement
。