0

今天早上我的脑子里一片空白。我正在创建一个 proc 并需要它使用与日期相关的 WHERE 子句来提取结果。WHERE 子句应说明报告应从GetDate().

这是在 SQL Server 2012 中使用 T-SQL。包含子句日期的列称为[Delivery Date].

非常感谢。

4

3 回答 3

2

尝试这个

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

DATEADD的 MSDN 链接
类似问题:Stackoverflow 链接

于 2013-06-06T08:14:43.777 回答
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()))
于 2013-06-06T08:21:25.467 回答
1

2 个月前 每月 1 日 00:00 开始

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

2 个月前从每月的同一天(如果适用)在同一时间开始

DATEADD(mm, -2, GETDATE())
于 2013-06-06T08:16:28.040 回答