Génération de tables de dates temporaires dans SQL Server 2000
Pour créer une table temporaire remplie d'une plage de dates dans SQL Server 2000, une alternative Cette approche est nécessaire lorsqu’il existe des lacunes dans les données disponibles. La solution suivante s'appuie sur la question présentée et fournit un guide étape par étape pour générer un tel tableau.
Tout d'abord, déclarez les variables pour contenir les dates de début et de fin :
declare $startDate set $startDate = select min(InsertDate) from customer declare $endDate set $endDate = select max(InsertDate) from customer
Ensuite, créez un tableau permanent pour contenir toutes les dates dans la plage souhaitée :
CREATE TABLE #Dates ( Month DATE, Trials INTEGER, Sales INTEGER )
Maintenant, remplissez le tableau à l'aide d'une boucle WHILE qui incrémente la date d'un jour jusqu'à ce que la date de fin est atteinte :
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
Enfin, regroupez les résultats par mois et insérez les valeurs de placeholder dans la table temporaire :
insert #dates select dbo.FirstOfMonth(InsertDate) as Month, 0 as Trials, 0 as Sales from customer group by dbo.FirstOfMonth(InsertDate)
Cette solution permet de créer une table temporaire tableau rempli d'une plage de dates, même lorsqu'il existe des lacunes dans l'ensemble de données d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!