SQL 服务器:日期减法

SQL Server : date subtract

我正在尝试执行一个存储过程,在该过程中,我将让所有拥有 StartDate 值的人严格等于今天的第 -7 天。所以我可以在到达开始日期前 7 天激活它们。

例如我有一个用户 'test1' 他的 StartDate ='2020-12-08 00:00:00.000'

所以我的查询应该只得到这条记录,因为他

StartDate = 今天的日期 - 7 天。

StartDate是我查的记录

CREATE PROCEDURE ActivePersonXdaysBeforeStartDate
AS
BEGIN
    SET NOCOUNT ON

    SELECT * 
    FROM Person 
    WHERE Active = 0
      AND DATEADD (DAY, -7, StartDate) = GETDATE()
END

但是这不起作用关于如何做到这一点的任何提示?谢谢

据推测,您想要:

select * 
from person 
where active = 0 and startdate < dateadd (day, -7, convert(date, getdate()))

这会带来所有不活动的行,其 startdate(严格)小于今天前 7 天(不包括今天的时间部分)。