sqlserver 时间差去掉节假日
时间: 2023-11-24 08:48:10 浏览: 152
在SQL Server中计算时间差并去掉节假日,可以使用以下步骤:
1. 创建一个包含所有节假日日期的表,例如Holiday表。
2. 使用DATEDIFF函数计算开始时间和结束时间之间的小时数。
3. 使用以下语句计算开始时间和结束时间之间的工作日天数:
SELECT COUNT(*) FROM YourTable WHERE YourDate >= @StartDate AND YourDate <= @EndDate AND DATENAME(dw, YourDate) NOT IN ('Saturday', 'Sunday') AND YourDate NOT IN (SELECT HolidayDate FROM Holiday)
4. 将工作日天数乘以每个工作日的小时数,再加上开始时间和结束时间之间的非工作日小时数,即可得到最终的小时数。
阅读全文