Berechnen Sie die Anzahl der Arbeitstage zwischen zwei Daten mit SQL Server
Die Bestimmung der Anzahl der Arbeitstage zwischen zwei bestimmten Daten ist eine häufige Aufgabe bei der Datenanalyse und Berichterstellung. In SQL Server kann diese Berechnung mithilfe von T-SQL effizient durchgeführt werden.
Abfrage:
Um die Anzahl der Arbeitstage (Montag bis Freitag) zwischen zwei Daten zu berechnen, führen Sie die folgende Abfrage aus:
<code class="language-sql">DECLARE @StartDate DATETIME; DECLARE @EndDate DATETIME; SET @StartDate = '2008/10/01'; SET @EndDate = '2008/10/31'; 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>
Anleitung:
DATEDIFF(dd, @StartDate, @EndDate) 1
Berechnen Sie die Gesamtzahl der Tage zwischen zwei Daten, einschließlich Startdatum und Enddatum. DATEDIFF(wk, @StartDate, @EndDate) * 2
Subtrahieren Sie die Anzahl der Wochenendtage (2 Tage pro Woche) von der Gesamtzahl der Tage. -(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END)
Passen Sie das Startdatum auf Sonntag an. -(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END)
Passen Sie das Enddatum auf Samstag an. Weitere Überlegungen:
Um Feiertage in die Berechnungen einzubeziehen, erstellen Sie eine separate Tabelle, um die Feiertagsdaten zu definieren und sie der Abfrage hinzuzufügen. Dies erfordert zusätzliche Logik, um die Anzahl der im angegebenen Zeitraum enthaltenen Feiertage zu subtrahieren.
Das obige ist der detaillierte Inhalt vonWie berechnet man Arbeitstage zwischen Datumsangaben in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!