14 juin 2013

Afficher une différence de dates en "heures minutes secondes" avec DAY TO SECOND (Oracle)


Christophe m'a indiqué cette fonction Oracle.
Elle permet d'afficher une différence de dates au format heures-minutes-secondes :

Exemple avec ce SELECT qui liste les traitements batch exécutés ce jour par ordre de durée d'exécution décroissante :

select CDPHAS,IDREQU,CDELMT,TIMDEB,TIMFIN,CDRET,(TIMFIN - TIMDEB) DAY TO SECOND(0) DELTA from ZO00,ZO2C where ZO00.NUDOSS=ZO2C.NUDOSS and FLGJOB='1' and CDRET <> ' ' and TIMFIN > trunc(SYSDATE) order by 7 desc ;

CDP IDREQU             CDELMT   TIMDEB              TIMFIN              CD DELTA
--- ------------------ -------- ------------------- ------------------- -- ----------------------------------------
NRB DIGIX                       2013-06-11-01.00.41 2013-06-11-01.06.26 01 +00 00:05:45
K2W DIGIX                       2013-06-11-12.07.52 2013-06-11-12.13.00 04 +00 00:05:00

NJ6 DIGIX                       2013-06-11-11.00.55 2013-06-11-11.02.45 01 +00 00:01:50

1 commentaire:

  1. Certaines rubriques n'existent pas en V5
    ça passe comme ça

    SELECT CDPHAS,CDELMT,TIMDEB,TIMFIN,CDRET,SUBSTR(((TIMFIN - TIMDEB) DAY TO SECOND(0) ),1,12) AS DELTA, LIUTIL FROM ZO00,ZO2C WHERE ZO00.NUDOSS=ZO2C.NUDOSS AND CDRET <> ' ' AND TIMFIN > TRUNC(SYSDATE) ORDER BY TIMFIN ASC ;

    RépondreSupprimer