[SQL oracle (sqlplus)] Comparatif dates

Bonjour,
Je voudrais obtenir le temps d'execution d'un traitement en sql à partir d'une date de début et d'une date de fin sous la forme : "2004-10-05 18:10:22".
Si je fais une requète simple du genre : "select date_fin_traitement - date_debut_traitement from traitement", il me done comme resultat : 0.45668552 ce qui equivaut à 0,45 jour.
Or je charche à avoir ce resultat sous la forme heure:minute:seconde.
Quelqu'un pourrait m'aider ?

Merci !

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    La différence entre 2 variables de type date sous oracle retourne un nombre de jours. Pour calculer le temps écoulé en hh:mm:ss, il faut donc multiplier cette différence par 24h puis par 3600s :
    (date_fin-dat_deb )*24*3600, soit 0.45668552*24*3600=39457.63s
    Il suffit ensuite de formater en hh:mm:ss :
    hh = Trunc(((date_fin-dat_deb )*24*3600)/3600) = 10h
    mm = Trunc(Mod((date_fin-dat_deb )*24*3600,3600 )/60) = 57mn
    ss = Mod(Mod((date_fin-dat_deb )*24*3600,3600),60) = 37.63s

    sqlplus retourne directement le temps d'exécution par la commande :
    SQL > Set Timing On

    :)
    1. Bonjour. Pour exemple voila comment faire un SQL select avec date entre deux autres dates.

      select *
      from my_table
      where date_alpha BETWEEN
      to_date('01.06.2007 00:00:00', 'dd.mm.yyyy HH24:MI:SS')
      AND to_date('01.12.2007 00:00:00', 'dd.mm.yyyy HH24:MI:SS')
      ;

      Salutations.

      Alpha Beta
      1. Bonjour,

        SELECT bkcli.cli,bkhis.age,bkhis.ncp,bkhis.ope,
        bkhis.dco,bkprocli.pro,bkhis.eve,bkhis.lib,bkhis.mon
        FROM bkhis,bkcom,bkcli
        WHERE bkcli.cli=bkcom.cli
        AND bkhis.ncp=bkcom.ncp
        AND bkprocli.pro=@ AND bkhis.dco >=@ AND bkhis.dco <=@
        ORDER BY 1,2,3,4,5,6,7,8;

        cette une requete qui me permet de voir l'historique de compte selon le profils d'un client. le problème maintenant est k'il me donne un seul compte a la date introduit et pourtant je besoin de visualiser toutes les comptes mouvementer.

        se ca mon soucis.