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
我正在尝试生成一份报告,该报告将在某处提取一个已经在 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