T-SQL显示将在两个月后到期的记录

时间:2019-06-11 14:29:52

标签: sql-server tsql

如何显示两个月内到期的记录?

我尝试使用DATEADD,但逻辑代码似乎不正确。

GETDATE() >= DATEADD(MONTH,-2, cycles.[NEXT-DATE])

有关如何执行此操作的任何代码?

谢谢

3 个答案:

答案 0 :(得分:1)

您的代码为您提供了有效期等于或超过2个月的记录。您应该更改条件。绘制时间线以使其可视化(然后容易理解它的外观)。

GETDATE() >= DATEADD(MONTH,-2, cycles.[NEXT-DATE])
and GETDATE() <= cycles.[NEXT-DATE] --checking if date is in the future

答案 1 :(得分:1)

我想应该是这样的

DATEDIFF(DAY, DATEADD(MONTH, 2, GETDATE()), cycles.[NEXT-DATE]) < 0

答案 2 :(得分:0)

这将找到将在未来2个月内到期的记录,这不是您所要求的。但是查看您的查询似乎就是您所需要的。

WHERE cycles.[NEXT-DATE]between getdate()and dateadd(month,2,getdate())