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

SQL Procédural MySQL Discussion :

probleme avec SUM et TIMEDIFF


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Par défaut probleme avec SUM et TIMEDIFF
    bonjour,

    voila mon petit soucis, j'ai 4 champs de type Time : HeureDebut, HeureFin, FPause et Dpause.
    Je souhaiterais pouvoir faire l'operation suivante sur ces champs :
    (HeureFin - HeureDebut)-(FPause - Dpause)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ((TIMEDIFF(TIMEDIFF(HeureFin,HeureDebut), TIMEDIFF(FPause,Dpause)))) 
    FROM TableInterim 
    WHERE DatePrestation='2006-12-12'
    Cela fonctionne bien pour chaque ligne prise indivduellement.

    Maintenant lorsque je veux les regrouper par somme c'est la que j'ai des soucis, les resultats sont tronqués.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT SUM((TIMEDIFF(TIMEDIFF(HeureFin,HeureDebut),TIMEDIFF(FPause,Dpause))))
    FROM TableInterim 
    WHERE DatePrestation='2006-12-12'
    Merci d'avance pour vos réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    TIMEDIFF te renvoie une donnée de type TIME, du genre '02:05:00', qui ne peut pas être utilisé dans une somme. Il faut donc que tu traduises tes durées en secondes avec TIME_TO_SEC, afin de pouvoir faire ta somme. Tu peux ensuite repasser le résultat en TIME avec SEC_TO_TIME :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(...) )))

  3. #3
    Membre confirmé Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Par défaut
    Merci Antoun,
    Effectivement tu as bien raison, mon probleme était un probleme conversion de type. J'ai fait la modif avec les fonctions SEC_TO_TIME et TIME_TO_SEC et cela fonctionne.

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

Discussions similaires

  1. probleme avec SUM
    Par Dine_Med dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/04/2011, 22h52
  2. Probleme avec SUM et GROUP BY de 2 tables [FIREBIRD]
    Par fthdz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/02/2010, 18h22
  3. probleme avec la fonction sum (debutant)
    Par mcf1 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2006, 09h38
  4. probleme avec la fonction sum (debutant)
    Par mcf1 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2006, 09h33
  5. Probleme avec requete et sum
    Par Treuze dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/01/2006, 17h28

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