今天早上我的思绪一片空白。我正在创建一个proc并需要它来提取与日期相关的WHERE子句的结果。 WHERE子句应声明报告应该从GetDate()
开始回顾两个月。
这是在SQL Server 2012中使用T-SQL。包含该子句日期的列称为[Delivery Date]
。
非常感谢。
答案 0 :(得分:2)
试试这个
SELECT *
FROM tableName
WHERE [Delivery Date] < DATEADD(month, -2, GETDATE())
DATEADD的MSDN链接 类似问题:Stackoverflow link
答案 1 :(得分: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()))
答案 2 :(得分:1)
2个月前从00:00开始本月1日
DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 2, 0)
2个月前在同一时间从同一天开始(如果适用)
DATEADD(mm, -2, GETDATE())