我在MSSQL(用於SAP Business One)中創建查詢,以比較給定日期範圍(在[日期]和[日期]之間使用)的銷售額和利潤與去年相同日期範圍內的銷售額和利潤,但我不知道該怎麼做。如何在MSSQL中使用日期範圍減去1年?
我用下面的代碼的日期範圍:
WHERE t1.docdate between '[%1]' and '[%2]'
謝謝
我在MSSQL(用於SAP Business One)中創建查詢,以比較給定日期範圍(在[日期]和[日期]之間使用)的銷售額和利潤與去年相同日期範圍內的銷售額和利潤,但我不知道該怎麼做。如何在MSSQL中使用日期範圍減去1年?
我用下面的代碼的日期範圍:
WHERE t1.docdate between '[%1]' and '[%2]'
謝謝
dateadd(year,-1,[date])
Add and Subtract Dates using DATEADD in SQL Server
注意使用between
的含義,如下所示: Bad habits to kick : mis-handling date/range queries - Aaron Bertrand - 2009-10-16
我會馬上閱讀。謝謝 –
如果你想在同一日期範圍最後年的數據,你有兩個選擇:
WHERE dateadd(year, 1, t1.docdate) between '[%1]' and '[%2]'
或
WHERE t1.docdate between dateadd(year, -1, '[%1]') and dateadd(year, -1, '[%2]')
注:
between
。然而,我現在離開了這個邏輯,因爲這是oP措辭的問題。它的工作,謝謝! –
'DATEADD(YEAR,-1,YourDateColumn)' – scsimon
作爲@scsimon說(笑),用[DATEADD()](https://www.techonthenet.com/sql_server/functions/dateadd.php) – JohnHC