我已经找到了许多关于在 SQL 中进行日期差异问题的答案,不包括周末和节假日。我的问题是我需要进行日期比较 - 有多少子记录的工作日期在父记录发送日期的三天内?
大多数日期差异答案都涉及日历表,我认为如果我可以构建一个返回 date+3 的子选择,我就可以解决剩下的问题。但我不知道如何返回日期+3。
所以:
CREATE TABLE calendar
(
thedate DATETIME NOT NULL,
isweekday SMALLINT NULL,
isholiday SMALLINT NULL
);
和:
SELECT thedate AS fromdate, xxx AS todate
FROM calendar
我想要的是 todate 是 fromdate + 72 小时,不包括周末和节假日。在 isweekday 而不是 isholiday 的情况下执行 COUNT(*) 很简单,但执行 DATEADD() 是另一回事。
我不知道从哪里开始。