Maison > base de données > tutoriel mysql > Comment générer une table de plage de dates complète dans SQL Server 2000 malgré les lacunes dans les données sources ?

Comment générer une table de plage de dates complète dans SQL Server 2000 malgré les lacunes dans les données sources ?

Patricia Arquette
Libérer: 2024-12-21 07:13:09
original
507 Les gens l'ont consulté

How to Generate a Complete Date Range Table in SQL Server 2000 Despite Gaps in Source Data?

Génération d'une table de plage de dates temporaire dans SQL Server 2000

Votre obligation de créer une table temporaire avec des dates allant de $startDate à $endDate et un espace réservé supplémentaire de valeur zéro Les colonnes présentent un défi en raison de lacunes potentielles dans les dates d'insertion de la table client.

Pour surmonter ce problème, considérez les points suivants approche :

  1. Déclarer les variables de plage : Comme vous l'avez déjà fait, utilisez les déclarations suivantes pour capturer les dates d'insertion minimales et maximales :

    declare $startDate set $startDate = select min(InsertDate) from customer
    declare $endDate set $endDate = select max(InsertDate) from customer
    Copier après la connexion
  2. Créer une table de dates factice : En utilisant le schéma de votre table temporaire, créez une table factice avec des dates de $startDate à $endDate à l'aide d'une boucle :

    CREATE TABLE #dates (
     Month DATE,
     Trials INT DEFAULT 0,
     Sales INT DEFAULT 0
    );
    Copier après la connexion
  3. Remplissez la table de dates factices : Pour garantir l'exhaustivité, utilisez un curseur pour parcourir la plage de dates de $startDate à $endDate, en insérant chaque date dans le mannequin table :

    DECLARE @d DATE = $startDate;
    
    WHILE @d <= $endDate
    BEGIN
     INSERT INTO #dates (Month) VALUES (@d);
     SET @d = DATEADD(DAY, 1, @d);
    END;
    Copier après la connexion

Cette approche génère dynamiquement une plage complète de dates dans la plage spécifiée, quelles que soient les lacunes dans la table client. Vous pouvez ensuite utiliser cette table factice comme source pour remplir votre table de plage de dates temporaire.

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