我想獲取過去一個月的月總計,並嘗試了兩種不同的方法,但儘管我應該得到相同的結果,但通常情況卻不同。 這是兩種方法我試過:SQL Server 2個獲取月份總計但獲得不同結果的方法
使用MONTH()和YEAR()與DATEADD():
WHERE YEAR(SomeDate) = YEAR(DATEADD(mm,-6,GETDATE())) AND MONTH(SomeDate) = MONTH(DATEADD(mm,-6,GETDATE()))
使用DATEADD()來確定每個月的第一天和最後一天:
WHERE SomeDate >= DATEADD(mm, -6, DATEADD(D,(DATEPART(D, GETDATE())-1)*-1,GETDATE())) AND SomeDate <= DATEADD(mm, -5, DATEADD(D,DATEPART(D, GETDATE())*-1,GETDATE()))
我預計這兩種方法給我的所有結果2014年8月(現爲2015年2月),b第二種方法有時會留下一定的結果。我認爲這確實沒有意義。任何人都可以澄清這一點?
輸入數據和預期的結果? – 2015-02-06 14:42:37