Effiziente Berechnung von Arbeitstagen in T-SQL
Die Bestimmung der Anzahl der Arbeitstage zwischen zwei Daten ist eine häufige Anforderung in SQL Server. Dies ist von entscheidender Bedeutung für die Projektplanung, die Urlaubsberechnung von Mitarbeitern und andere Geschäftsanwendungen. Dieser Leitfaden demonstriert einen robusten T-SQL-Ansatz.
Eine T-SQL-Lösung für die Arbeitstagsberechnung
Die folgenden Schritte beschreiben eine Methode zur Berechnung von Arbeitstagen in SQL Server mit Transact-SQL (T-SQL):
(DATEDIFF(dd, @StartDate, @EndDate) 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2)
Diese Formel berechnet die Gesamtzahl der Tage, subtrahiert Wochenendtage (zwei pro Woche) und berücksichtigt Szenarien, in denen das Start- oder Enddatum auf ein Wochenende fällt.
Anschauliches Beispiel
Lassen Sie es uns anhand eines praktischen Beispiels veranschaulichen:
<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>
Umgang mit Feiertagen
Für genauere Ergebnisse beziehen Sie Feiertage in die Berechnung ein:
Das obige ist der detaillierte Inhalt vonWie berechnet man mit T-SQL die Arbeitstage zwischen zwei Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!