Rechercher : dans
Par :

[SQL oracle (sqlplus)] Comparatif dates

Dernière réponse le 28 jan 2009 à 15:34:17 Marco, le 5 oct 2004 à 18:31:57 
 Signaler ce message aux modérateurs

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 !

Meilleures réponses pour « [SQL oracle (sqlplus)] Comparatif dates » dans :
Démarrer une base de données avec un data file manquant VoirDémarrer une base de données Oracle avec un data file manquant Se connecter à SQL*DBA ou au Server Manager lancer « shutdown abort » lancer « startup mount » lancer la commande suivante pour remplacer le datafile (exemple …/oradata/temp_01.dbf)...
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...

1

Laurent, le 22 jun 2007 à 11:06:33

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

:)

Répondre à Laurent

2

Alpha Beta, le 7 nov 2007 à 15:27:49

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

Répondre à Alpha Beta

3

 bina2009, le 28 jan 2009 à 15:34:17

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.

Répondre à bina2009
Collection CommentÇaMarche.net