Heim > Datenbank > MySQL-Tutorial > Wie berechnet man Arbeitstage zwischen Datumsangaben in SQL Server?

Wie berechnet man Arbeitstage zwischen Datumsangaben in SQL Server?

DDD
Freigeben: 2025-01-21 23:42:10
Original
784 Leute haben es durchsucht

How to Calculate Workdays Between Dates in SQL Server?

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage