2017-01-04 67 views
0

我在MSSQL(用於SAP Business One)中創建查詢,以比較給定日期範圍(在[日期]和[日期]之間使用)的銷售額和利潤與去年相同日期範圍內的銷售額和利潤,但我不知道該怎麼做。如何在MSSQL中使用日期範圍減去1年?

我用下面的代碼的日期範圍:

WHERE t1.docdate between '[%1]' and '[%2]' 

謝謝

+1

'DATEADD(YEAR,-1,YourDateColumn)' – scsimon

+0

作爲@scsimon說(笑),用[DATEADD()](https://www.techonthenet.com/sql_server/functions/dateadd.php) – JohnHC

回答

0

如果你想在同一日期範圍最後年的數據,你有兩個選擇:

WHERE dateadd(year, 1, t1.docdate) between '[%1]' and '[%2]' 

WHERE t1.docdate between dateadd(year, -1, '[%1]') and dateadd(year, -1, '[%2]') 

注:

  • 在第一種情況下,你是年加入到日期,不減1。
  • 參數看起來很奇怪,但我不熟悉SAP格式。
  • 我非常同意Aaron關於避免使用日期的between。然而,我現在離開了這個邏輯,因爲這是oP措辭的問題。
+0

它的工作,謝謝! –