您需要创建两个日期,并考虑工作日。假设六个工作日。
今天和昨天,但如果昨天是星期日,则星期六(昨天的工作日)
我创建了一个请求:
DECLARE @DATESTART DATETIME = CAST(GETDATE() AS DATE)
IF DATEPART(WEEKDAY, @DATESTART) = 7 --ЕСЛИ ВОСКРЕСЕНЬЕ
BEGIN
SET @DATESTART = @DATESTART - 1
END
DECLARE @DATEEND DATETIME = @DATESTART - 1
IF DATEPART(WEEKDAY, @DATEEND) = 7 --ЕСЛИ ВОСКРЕСЕНЬЕ
BEGIN
SET @DATEEND = @DATEEND - 1
END
SELECT @DATESTART AS D1, @DATEEND AS D2
结果:
我使用日期的过程不返回任何内容。当我手动写入日期时('23/11/2023' и '22/11/2023'),它起作用了。我是否正确创建了请求?
我自己根据文档写了请求,据我了解,七是周日索引。

解释:
您确定
SET @DATEEND = @DATEEND - 1您的价值是如何隐式计算的吗?我没有。用于DATEADD日期操作