Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich eine Reihe inkrementierender Datumsangaben in T-SQL?

Wie erstelle ich eine Reihe inkrementierender Datumsangaben in T-SQL?

Barbara Streisand
Freigeben: 2025-01-11 19:57:43
Original
520 Leute haben es durchsucht

How to Generate a Series of Incrementing Dates in T-SQL?

Generieren einer Datumsfolge in T-SQL: Effiziente Methoden

In diesem Artikel werden effiziente Techniken zum Erstellen einer Reihe aufeinanderfolgender Datumsangaben innerhalb eines bestimmten Bereichs mithilfe von T-SQL untersucht, das mit SQL Server-Versionen 2005 und höher kompatibel ist. Während eine WHILE-Schleife ein möglicher Ansatz ist, kann sie für größere Datumsbereiche weniger effizient sein. Eine überlegene Methode nutzt die spt_valuesSystemtabelle.

Für Datumsbereiche bis zu 2047 Tage bietet die folgende T-SQL-Abfrage eine effektive Lösung:

<code class="language-sql">DECLARE @startDate DATETIME, @endDate DATETIME;
SET @startDate = GETDATE();
SET @endDate = DATEADD(day, 100, @startDate);

SELECT DATEADD(day, number, @startDate) AS IncrementalDate
FROM (SELECT number FROM master.dbo.spt_values WHERE [type] = 'P') AS NumberSequence
WHERE DATEADD(day, number, @startDate) < @endDate;</code>
Nach dem Login kopieren

Diese Abfrage nutzt die Zahlenfolge in spt_values, um die Datumsreihe zu generieren. Es fügt jede Zahl in der Sequenz zum @startDate hinzu und erzeugt so effektiv aufsteigende Datumsangaben. Die WHERE-Klausel stellt sicher, dass die generierten Daten in den gewünschten Bereich fallen, der durch @startDate und @endDate definiert ist. Dieser Ansatz vermeidet die Leistungseinschränkungen, die oft mit iterativen WHILE Schleifenmethoden verbunden sind.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Reihe inkrementierender Datumsangaben in T-SQL?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage