2013-06-06 51 views
0

今天早上,我的思想已經完全消失。我正在創建一個proc,並且需要它使用與日期相關的WHERE子句來獲取結果。 WHERE子句應該說明報告應該從GetDate()開始回溯兩個月。T-SQL中的GetDate()函數

這是在SQL Server 2012中使用T-SQL。包含子句日期的列稱爲[Delivery Date]

非常感謝。

回答

2

如果[Delivery Date]既有日期又有時間,還想考慮時間嗎?然後嘗試

SELECT * 
FROM tableName 
WHERE [Delivery Date] >= DATEADD(month, -2, GETDATE()) 

如果[Delivery Date]只是一個日期或忽略的部分時間?然後嘗試

SELECT * 
FROM tableName 
WHERE [Delivery Date] >= CONVERT(date, DATEADD(month, -2, GETDATE())) 
1

2個月前開始在每個月的1日00:00

DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 2, 0) 

2個月前在同一小時開始月份的同一天(如果適用)

DATEADD(mm, -2, GETDATE())