Heim  >  Artikel  >  Datenbank  >  Wie zähle ich das Vorkommen bestimmter Tage zwischen zwei Daten in TSQL?

Wie zähle ich das Vorkommen bestimmter Tage zwischen zwei Daten in TSQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 06:13:30648Durchsuche

How to Count Occurrences of Specific Days Between Two Dates in TSQL?

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!

Stellungnahme:
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