IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Calcul de données entre deux dates indéfinies + heure [2014]


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut Calcul de données entre deux dates indéfinies + heure
    Bonjour à tous et à toutes,

    Je plante totalement sur une requête qui a pour but de compter le nombre de produits entre deux dates mais de 5h d'un jour quelconque à 4h59m59s du jour d'après.
    Actuellement, je fonctionne avec cette requête pour la plupart de mes autres tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT CONVERT(CHAR(10), DATE_EMBAL, 121) AS MADATE, 
           DATEPART(HOUR, DATE_EMBAL) AS HEURE,
           COUNT(*) AS NOMBRE
    INTO ESPACE
    FROM   MATABLE
    GROUP BY CONVERT(CHAR(10), DATE, 121), 
             DATEPART(HOUR, DATE)
    ORDER BY [DATE]
    Cette requête me permet donc de compter le nombre de lignes entre minuit et 23h59m59s.. , or je souhaiterais le faire entre 5h et 4h59m59s. Je ne veux pas entrer de dates à la main, je veux que cela le calcul automatiquement pour toutes les journées comme la requête ci-dessus.

    J'ai essayé avec BETWEEN, mais je ne vois pas comment incrémenter ma journée et définir par la suite l'heure.

    Merci à vous.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez regrouper sur la colonne date moins 5 heures, castée en DATE...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GROUP BY CAST(DATEADD(HOUR, -5, DATE_EMBAL) AS DATE)

    sinon, postez un jeu d'essai avec le résultat attendu afin que l'on comprenne mieux ce que vous cherchez à faire...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    De base, j'ai ceci dans ma table (j'ai les productions de minuit à 23h59) :
    Nom : 2015-06-01 16_52_29.png
Affichages : 140
Taille : 3,6 Ko

    Et ce que j'obtiens avec ce que vous m'avez donné :
    Nom : 2015-06-01 16_52_39.png
Affichages : 165
Taille : 4,9 Ko

    Là, j'ai mes deux jours en double avec des données de minuit à 4h59 et le reste de 5h à 23h59. C'est presque ce que je veux. Merci. Mais j'aimerais que le jour soit compté de 5h à 4h59 de l'autre jour, une sorte de décalage.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Il faut bien entendu adapter le SELECT...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Mais la valeur qu'il y a de minuit à 4h59, je veux qu'elle s'ajoute à la valeur précédente afin de faire 5h à 4h59 du lendemain. Et le problème c'est que ce n'est pas dans le même ordre souvent.

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT  CAST(DATEADD(HOUR, -5, DATE_EMBAL) AS DATE) AS MADATE, 
           COUNT(*) AS NOMBRE
    FROM   MATABLE
    GROUP BY  CAST(DATEADD(HOUR, -5, DATE_EMBAL) AS DATE)
    ORDER BY  CAST(DATEADD(HOUR, -5, DATE_EMBAL) AS DATE)

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Merci infiniment, il fallait que j'implante seul votre CAST. Merci encore une fois.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul de durée entre deux dates en années, mois, jours, heures, minutes, secondes et reste
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 02/10/2015, 12h31
  2. Calcul de Données entre deux dates
    Par fokher dans le forum Requêtes
    Réponses: 0
    Dernier message: 06/01/2014, 10h13
  3. calcul entre deux date et heure
    Par totor92290 dans le forum IHM
    Réponses: 2
    Dernier message: 15/03/2013, 08h18
  4. Réponses: 3
    Dernier message: 09/09/2010, 17h47
  5. [XL-2003] calcul d'heure entre deux date et heure
    Par fullmetalknet dans le forum Excel
    Réponses: 8
    Dernier message: 06/11/2009, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo