Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich eine temporäre Datumstabelle in SQL Server 2000 mit Datenlücken?

Wie erstelle ich eine temporäre Datumstabelle in SQL Server 2000 mit Datenlücken?

Susan Sarandon
Freigeben: 2024-12-28 15:35:22
Original
215 Leute haben es durchsucht

How to Generate a Temporary Date Table in SQL Server 2000 with Gaps in Data?

Erstellen temporärer Datumstabellen in SQL Server 2000

Um eine temporäre Tabelle mit einem Datumsbereich in SQL Server 2000 zu erstellen, eine Alternative Ein Ansatz ist erforderlich, wenn Lücken in den verfügbaren Daten bestehen. Die folgende Lösung baut auf der gestellten Frage auf und bietet eine Schritt-für-Schritt-Anleitung zum Generieren einer solchen Tabelle.

Deklarieren Sie zunächst Variablen, um das Start- und Enddatum zu speichern:

declare $startDate set $startDate = select min(InsertDate) from customer
declare $endDate set $endDate = select max(InsertDate) from customer
Nach dem Login kopieren

Erstellen Sie als Nächstes eine permanente Tabelle, um alle Daten innerhalb des gewünschten Bereichs zu speichern:

CREATE TABLE #Dates (
  Month DATE,
  Trials INTEGER,
  Sales INTEGER
)
Nach dem Login kopieren

Füllen Sie nun die Tabelle mit einer WHILE-Schleife, die das Datum um eins erhöht Tag bis zum Erreichen des Enddatums:

DECLARE @dIncr DATE = $startDate
DECLARE @dEnd DATE = $endDate

WHILE ( @dIncr < @dEnd )
BEGIN
  INSERT INTO #Dates (Month, Trials, Sales) VALUES(@dIncr, 0, 0)
  SELECT @dIncr = DATEADD(DAY, 1, @dIncr )
END
Nach dem Login kopieren

Gruppieren Sie abschließend die Ergebnisse nach Monat und fügen Sie die Platzhalterwerte in die temporäre Tabelle ein:

insert #dates
select dbo.FirstOfMonth(InsertDate) as Month, 0 as Trials, 0 as Sales
from customer
group by dbo.FirstOfMonth(InsertDate)
Nach dem Login kopieren

Diese Lösung ermöglicht die Erstellung von eine temporäre Tabelle, die mit einem Datumsbereich gefüllt ist, auch wenn im Originaldatensatz Lücken vorhanden sind.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine temporäre Datumstabelle in SQL Server 2000 mit Datenlücken?. 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