【问题标题】:DATEADD Only weekdaysDATEADD 仅限工作日
【发布时间】:2021-01-06 22:37:16
【问题描述】:

我正在尝试生成一份报告,该报告将在某处的表格中提取一个日期,然后显示该日期并添加 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 是我表中的最后一个日期,所以 +16 个工作日应该是 18-02-2021 但我的结果给了我 2021 年 2 月 12 日的假期,我不知道为什么..

我正在使用 SQL Server Management Studio v18

任何帮助将不胜感激。

【问题讨论】:

    标签: sql-server dateadd


    【解决方案1】:

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

    您可以在工作日使用 running id,也可以使用 Windows Functions (RANK)Rank Windows Function

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2022-11-02
      • 2023-03-16
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多