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

Oracle Discussion :

inclure un format d'heure dans une requête


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut inclure un format d'heure dans une requête
    bonjour,
    j'ai crée une requête pour avoir un total d'heures + un nombres de (BT) groupés par (secteurs) avec quelques conditions.
    elle fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    select A.cd_box2, count(A.cd_wo), abs(sum(A.tm_fcast_tech_time))
      from WS A, OCCUPATION B, CM_TRIGGER E, WO F
     Where B.cd_wo(+) = A.cd_wo
      And F.cd_cm_trigger = E.cd_cm_trigger
      And F.cd_wo = A.cd_wo
     And A.CD_WO > 0
     And A.CD_WS > 0
     And A.dt_ws_begin between to_date ('01/06/2009','DD/MM/YYYY')
     And to_date ('30/06/2009','DD/MM/YYYY') /*###*/
     And (A.txt_quotefield not like '%Pièces%')
     And (E.val_nextday between 0 and 100)
     And (A.cd_wows_status = 6)
     And (A.cd_action_type = 'PREV')
     Group by A.cd_box2
    order by 1
    le résulat est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Résultat : 
     
    CD_BOX2     COUNT(A.CD_WO) ABS(SUM(A.TM_FCAST_TECH_TIME))
    ----------- -------------- ------------------------------
    CAGE             21                        2008333
    CONCEPT25_    4                         208333
    EVB_              7                         925000
    FINAL1           15                         858333
    FINAL2           43                        2016666
    FINAL3           30                        1458330
    Je souhaite rajouter dans la requête une conversion pour avoir le total en heures.
    Je sais que l'écriture du format en question est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TRUNC(A.tm_fcast_tech_time/100000)||':'||TO_CHAR(TRUNC(MOD(A.tm_fcast_tech_time, 100000) * 60/100000),'FM00')
    Quand j'intègre ce format à ma requête il m'affiche un message d'erreur.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    select A.cd_box2, count(A.cd_wo), abs(sum(TRUNC(A.tm_fcast_tech_time/100000)||':'||TO_CHAR(TRUNC(MOD(A.tm_fcast_tech_time, 100000) * 60/100000),'FM00')))
      from WS A, OCCUPATION B, CM_TRIGGER E, WO F
     Where B.cd_wo(+) = A.cd_wo
      And F.cd_cm_trigger = E.cd_cm_trigger
      And F.cd_wo = A.cd_wo
     And A.CD_WO > 0
     And A.CD_WS > 0
     And A.dt_ws_begin between to_date ('01/06/2009','DD/MM/YYYY')
     And to_date ('30/06/2009','DD/MM/YYYY') /*###*/
     And (A.txt_quotefield not like '%Pièces%')
     And (E.val_nextday between 0 and 100)
     And (A.cd_wows_status = 6)
     And (A.cd_action_type = 'PREV')
     Group by A.cd_box2
    order by 1

    message d'erreur


    select A.cd_box2, count(A.cd_wo), abs(sum(TRUNC(A.tm_fcast_tech_time/100000)||':'||TO_CHAR(TRUNC(MOD
    *
    ERREUR à la ligne 1 :
    ORA-01722: Nombre non valide
    Quelqu'un peut-il me dire pourquoi ? Je ne vois pas ou j'ai commis l'erreur
    Merci pour votre aide.

    Cdlt,

  2. #2
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    Ton SUM() inclus un "nombre" de la forme xx:xx qui n'est pas un nombre... d'ou l'erreur.
    Pourquoi ne pas faire la transformation apres le sum() ?

    Nicolas.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut suite : inclure un format Hres dans une requête
    re-bonjour,
    tout d'abord, merci de la réponse.
    Ne maîtrisant pas Oracle , pourrais-tu me donner la solution car je serais incapable à la trouver tout seul ?

    Merci

    Cdlt,

  4. #4
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    select cd_box2, cd_wo, TRUNC(tm_fcast_tech_time/100000)||':'||TO_CHAR(TRUNC(MOD(tm_fcast_tech_time, 100000) * 60/100000),'FM00')
    from   (SELECT A.cd_box2, count(A.cd_wo) cd_wo, abs(sum(A.tm_fcast_tech_time)) tm_fcast_tech_time
              FROM WS A, OCCUPATION B, CM_TRIGGER E, WO F
             WHERE B.cd_wo(+) = A.cd_wo
              AND F.cd_cm_trigger = E.cd_cm_trigger
              AND F.cd_wo = A.cd_wo
             AND A.CD_WO > 0
             AND A.CD_WS > 0
             AND A.dt_ws_begin BETWEEN to_date ('01/06/2009','DD/MM/YYYY')
             AND to_date ('30/06/2009','DD/MM/YYYY') /*###*/
             AND (A.txt_quotefield NOT LIKE '%Pièces%')
             AND (E.val_nextday BETWEEN 0 AND 100)
             AND (A.cd_wows_status = 6)
             AND (A.cd_action_type = 'PREV')
             GROUP BY A.cd_box2)
    ORDER BY 1
    Nicolas.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci de ton aide .

    cordialement,

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

Discussions similaires

  1. calcul heure dans une requête
    Par Daniela dans le forum VBA Access
    Réponses: 11
    Dernier message: 07/07/2009, 18h12
  2. [AC-2002] modifier le format de date dans une requête
    Par tom@tom dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/06/2009, 09h36
  3. Comparer date/heure dans une requête SQL
    Par ach152 dans le forum Débuter
    Réponses: 9
    Dernier message: 13/07/2008, 14h24
  4. Calcul heure dans une requête
    Par Accessbeotien dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 07/09/2007, 10h12
  5. utiliser un format "date heure" dans une formule
    Par Tonton Phil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/08/2007, 14h37

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