la divi­sion ne pass…
 
Notifications 
Reti­rer tout

la divi­sion ne passe pas dans une requête SQL embar­quée, com­ment faire ?

Posts
Uti­li­sa­teurs
Reac­tions
54  Vu
0
Début du sujet

Bon­jour, j’es­saie de faire une divi­sion dans une requête embar­quée mais celle-ci ne passe pas à la com­pi­la­tion du pro­gramme SQLRPGLE

Denis Lan­dra­gin Début du sujet mar 18 juin 2024 10 h 54 min 
Ce mes­sage a été modi­fié Il y a 5 mois parDenis Lan­dra­gin
                     CROSS JOIN
                       TABLE (
                         VALUES
                           (
                             CEILING(
                               (DAYS(D1.DATE_TRAITEMENT) - DAYS(DATE_NUM8TODATE(C.DATE_ENTREE)) /
                                 D1.JOURS_SEMAINE),
SQL0104: Position 34 Elément syntaxique D1 n'est pas correct. Eléments possibles : ) ,. 
                             DATE_NUM8TODATE(C.DATE_ENTREE)
                           )
                       ) AS TB (SEMAINES_CALCULEES, DATE_ENTREE)                   
Denis Lan­dra­gin Début du sujet mar 18 juin 2024 11 h 51 min 
                     CROSS JOIN
                       TABLE (
                         VALUES
                           (
                             CEILING(
                                                 (DAYS(D1.DATE_TRAITEMENT) -
                                                     DAYS(DATE_NUM8TODATE(C.DATE_ENTREE))) /
                                                     D1.JOURS_SEMAINE),
SQL0104: Position 54 Elément syntaxique D1 n'est pas correct. Eléments possibles : ) ,. 
                             DATE_NUM8TODATE(C.DATSOC)
                           )
                       ) AS TB (SEMAINES_CALCULEES, DATE_ENTREE)                                  
Denis Lan­dra­gin Début du sujet mar 18 juin 2024 11 h 56 min 

Il man­quait une paren­thèse fer­mante mais c’est pareil

Éti­quettes du sujet
1 Réponse 
0
Début du sujet
                    CROSS JOIN
                       TABLE (
                         VALUES
                           (
                             CEILING(
                               (DAYS(D1.DATE_TRAITEMENT) - DAYS(DATE_NUM8TODATE(C.DATSOC))) *
                                 POWER(D1.JOURS_SEMAINE, -1)),
                             DATE_NUM8TODATE(C.DATSOC)
                           )
                       ) AS TB (SEMAINES_CALCULEES, DATE_ENTREE)                       
Denis Lan­dra­gin Début du sujet mar 18 juin 2024 10 h 49 min 

Je n’ai pas l’ex­pli­ca­tion mais si je mul­ti­plie par l’in­verse à la place ça fonctionne.…

Ibmiiste Ibmiiste mer 17 juillet 2024 14 h 04 min 

@denis Bon­jour Denis, il faut avouer que l’er­reur n’est pas des plus explicite 🤣 .

Share :