我正在使用SQL Server 2008,我試圖計算一年前的兩個日期。假設今天是2013年3月18日,我需要找到4/1/12,並且也找到4/30/12。查找去年在SQL Server中的日期
我試過以下給我4/18/12,但不知道如何得到上面提到的期望的日期。另外,我需要找到5/1/12,5/31/12 ...等任何想法?謝謝。
我也試過
DATEADD(YEAR,-1, DATEADD(MONTH,DATEDIFF(MONTH,-11, GETDATE()), 0)) It returns 4/1/12 ,
DATEADD(YEAR,-1, DATEADD(MONTH,DATEDIFF(MONTH,-10, GETDATE()), 0)) also returns 4/1/12 instead of 5/1/12
爲什麼你需要*計算*他們?這只是一個訓練練習嗎?如果是這樣,您可能需要從1月1日起獲取天數,然後添加此數字以獲得所需日期,從而使用'DATEDIFF'和'DATEADD'的組合。這個邏輯將獨立於當前日期 - 如果這沒有問題。 – 2013-03-18 21:54:01
您是否確定要從今天的日期開始和結束下個月,但是從一年前?對總體要求的一個很好的描述會有所幫助。 – 2013-03-18 21:55:47
是的,從今天的日期開始和結束的下個月,但從一年前。這不是訓練練習,而是一個我正在創作的報告。 – Joe 2013-03-19 00:53:34