使用 T-SQL 高效计算工作日
确定两个日期之间的工作日数是 SQL Server 中的常见要求。 这对于项目调度、员工休假计算和其他业务应用程序至关重要。 本指南演示了强大的 T-SQL 方法。
用于工作日计算的 T-SQL 解决方案
以下步骤概述了使用 Transact-SQL (T-SQL) 在 SQL Server 中计算工作日的方法:
(DATEDIFF(dd, @StartDate, @EndDate) 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2)
此公式计算总天数,减去周末天数(每周两天),并考虑开始或结束日期为周末的情况。
说明性示例
让我们用一个实际的例子来说明:
<code class="language-sql">DECLARE @StartDate DATETIME; DECLARE @EndDate DATETIME; SET @StartDate = '2023-03-06'; SET @EndDate = '2023-03-20'; SELECT (DATEDIFF(dd, @StartDate, @EndDate) + 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2) - (CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) - (CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END);</code>
处理假期
为了获得更准确的结果,请将假期纳入计算中:
以上是如何使用 T-SQL 计算两个日期之间的工作日?的详细内容。更多信息请关注PHP中文网其他相关文章!