使用 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中文網其他相關文章!