Maison > base de données > tutoriel mysql > Comment générer une table de dates temporaire dans SQL Server 2000 avec des lacunes dans les données ?

Comment générer une table de dates temporaire dans SQL Server 2000 avec des lacunes dans les données ?

Susan Sarandon
Libérer: 2024-12-28 15:35:22
original
198 Les gens l'ont consulté

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

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
Copier après la connexion

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
)
Copier après la connexion

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
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal