DATEADD 仅限工作日

DATEADD Only weekdays

我正在尝试生成一份报告,该报告将在某处提取一个已经在 table 中的日期,然后显示该日期加上 16 个工作日,下面是我目前拥有的代码;

SELECT d.CASENUM
,DATEADD (DW, 16, (d.ORDERDATE)) AS [PayDate]
FROM db.ORDERS AS d
WHERE d.CLIENT = 'STORE1'

我似乎遇到的唯一问题是 DATEADD 没有增加 16 个工作日 27-01-2021 是我的 table 中的最后一个日期,所以 +16 个工作日应该是 18-02-2021 但我的结果给了我 12-02-2021 的休假日期,我不知道为什么..

我正在使用 SQL Server Management Studio v18

如有任何帮助,我们将不胜感激。

恐怕您需要为工作日创建一个新的 table。问题是不同的国家(和州)对工作日有不同的定义。 所以 table 应该看起来像这样 日期 州(或地方) 星期几 是工作日

您可以使用 运行 工作日 ID,也可以使用 Windows 函数 (RANK)Rank Windows Function