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.
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
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
Je souhaite rajouter dans la requête une conversion pour avoir le total en heures.
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 sais que l'écriture du format en question est la suivante :
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 TRUNC(A.tm_fcast_tech_time/100000)||':'||TO_CHAR(TRUNC(MOD(A.tm_fcast_tech_time, 100000) * 60/100000),'FM00')
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
Quelqu'un peut-il me dire pourquoi ? Je ne vois pas ou j'ai commis l'erreurselect 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
Merci pour votre aide.
Cdlt,
Partager