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 天(不包括今天的时间部分)。
我正在尝试执行一个存储过程,在该过程中,我将让所有拥有 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 天(不包括今天的时间部分)。