Berechnen der Anzahl spezifischer Wochentage innerhalb eines Datumsbereichs
Bestimmen der Anzahl spezifischer Wochentage, z. B. Dienstage, zwischen zwei Datumsangaben eine häufige Aufgabe in der Datenanalyse. Mit Transact-SQL (TSQL) lässt sich dieses Problem effektiv lösen.
Um die Anzahl der Dienstage zwischen zwei Terminen zu berechnen, empfiehlt sich ein modifizierter Ansatz, da TSQL keine direkte Funktion zur Bestimmung des Tages des hat Woche als Ganzzahl.
Der folgende Codeausschnitt beschreibt die Schritte:
Deklarieren Sie das Start- und Enddatum als Datums-/Uhrzeitvariablen:
declare @from datetime= '3/1/2013' declare @to datetime = '3/31/2013'
Verwenden Sie die Funktion „gedatediff()“, um die Differenz zwischen den Datumsangaben in Tagen zu ermitteln. Subtrahieren Sie 6 vom Enddatum, um es an den Sonntag anzupassen, der in TSQL als Tag 0 gilt:
datediff(day, -6, @to)
Dividieren Sie das Ergebnis durch 7, um die Anzahl der vollständigen Wochen (die jeden Tag enthalten) zu erhalten der Woche einmal) zwischen den Daten:
datediff(day, -6, @to)/7
Subtrahieren Sie dieselbe Berechnung vom Startdatum, um zu bestimmen, auf welchen Wochentag das Startdatum fällt:
datediff(day, -6, @from)/7
Subtrahieren Sie das Ergebnis von Schritt 4 vom Ergebnis von Schritt 3, um die Anzahl der Instanzen des bestimmten Tages (in diesem Fall Dienstag) zwischen den Daten zu erhalten:
datediff(day, -6, @to)/7-datediff(day, -6, @from)/7
Indem Sie diese Schritte befolgen, können Sie mithilfe von TSQL effizient die Anzahl der Dienstage oder anderer spezifischer Wochentage zwischen zwei Datumsangaben berechnen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit TSQL die Anzahl bestimmter Wochentage innerhalb eines Datumsbereichs berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!