GetDate()函数在T-SQL中

时间:2013-06-06 08:12:37

标签: sql sql-server tsql

今天早上我的思绪一片空白。我正在创建一个proc并需要它来提取与日期相关的WHERE子句的结果。 WHERE子句应声明报告应该从GetDate()开始回顾两个月。

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

非常感谢。

3 个答案:

答案 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())