如何减去两个日期并排除中间日期是星期二或节假日?

问题描述 投票:0回答:1

我有一个包含两个日期的表格,另一个表格标识了星期几以及该日是否为联邦假日。我将从表 1 中减去这两个日期,但我需要确保这两天之间的任何一天是否从第二个表中被识别为星期二或者如果它是假期,则将其从我的结果中排除。例如,9/29/2023 和 10/3/2023 应该给我总共 2 天,而不是 3 天。

我正在考虑一种情况,当声明有效时,但当我写下它时,我意识到我需要检查日期之间发生的事情,这样就行不通了。

有什么建议吗?

sql toad toad-data-point
1个回答
0
投票

试试这个代码 -

DECLARE @FirstDate DATE = CONVERT(DATE,'9/29/2023',101)
DECLARE @SecondDate DATE = CONVERT(DATE,'10/3/2023',101)

PRINT (DATEDIFF(DD, @FirstDate, @SecondDate)) -(DATEDIFF(wk, @FirstDate,  GETDATE()) * 2) -(CASE WHEN DATENAME(dw, @FirstDate) = 'Tuesday' THEN 1 ELSE 0 END)
© www.soinside.com 2019 - 2024. All rights reserved.