Zählen des Vorkommens bestimmter Tage zwischen Datumsangaben in TSQL
Bei der Arbeit mit datumsbezogenen Berechnungen in TSQL kann die Bestimmung der Häufigkeit bestimmter Wochentage erfolgen zur Herausforderung werden. Ein solches Szenario beinhaltet die Berechnung der Anzahl der „Dienstage“ zwischen zwei bestimmten Daten.
Lösung
Sie können die Anzahl der Vorkommen eines beliebigen Tages, einschließlich der Dienstage, zählen Verwenden Sie den bereitgestellten Code:
<code class="tsql">declare @from datetime= '3/1/2013' declare @to datetime = '3/31/2013' select datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON, datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE, datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED, datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU, datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI, datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT, datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN</code>
In diesem Code können Sie „Dienstag“ durch einen beliebigen anderen Tag ersetzen, indem Sie den entsprechenden Tagescode anpassen (z. B. -6 für Dienstag).
Durch die Angabe eines Start- und Enddatums berechnet dieser Code die Anzahl der Vorkommen jedes Tages innerhalb dieses Zeitraums. Es geht davon aus, dass der Starttag Montag ist (Code -7) und berechnet die Differenz zwischen der Anzahl der Tage, die ein Vielfaches von 7 sind (z. B. ein Vielfaches der Tage seit Montag), zwischen dem Start- und dem Enddatum. Dadurch werden effektiv die Vorfälle jedes Tages innerhalb des angegebenen Datumsbereichs gezählt.
Das obige ist der detaillierte Inhalt vonWie zähle ich das Vorkommen bestimmter Tage zwischen zwei Daten in TSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!