Bonjour,

Je vais essayer d'exposer clairement (c'est pas gagné...) mon problème...

A la base j'ai deux colonnes OPENDATETIME et CLOSEDATETIME de type DATE qui pour donner une exemple concret pourrait contenir ceci :

OPENDATETIME :11/12/2009 12:05:56 PM
CLOSEDATETIME : 11/12/2009 12:09:08 PM

Mon but est d'avoir une durée (correspondant à CLOSEDATETIME - OPENDATETIME) en minutes. Quand je dis en minutes c'est uniquement les minutes et sans arrondis. Dans le cas ci-dessus ca devrait donc faire 03 (soit 3 minutes). Je précise que dans le cas ou il y aurait un écart de plus d'une heure les heures doivent également être convertis en minutes. Ce qui veut dire que si ma durée est par exemple de 01:23 (HH:MI) je souhaiterais avoir 83.

J'ai réussi à récupérer la durée précise au format timestamp (DD-MM-RRRR HH24:MI:SS) par cette méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
to_timestamp(to_char(closedatetime,'DD-MM-RRRR HH24:MI:SS'),'DD-MM-RRRR HH24:MI:SS') - to_timestamp(to_char(opendatetime,'DD-MM-RRRR HH24:MI:SS'),'DD-MM-RRRR HH24:MI:SS')
J'ai également réussi à avoir cette durée en minutes mais j'ai un arrondis et je ne sais pas trop si cela va fonctionner lorsque j'aurais des heures car je n'ai pas encore de données dans la base me permettant de faire ce test. J'ai pu faire cela grace à cette méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
to_timestamp(to_char(closedatetime,'MI'),'MI') - to_timestamp(to_char(opendatetime,'MI'),'MI'),
Mais comme je l'ai dit j'ai déjà un problème car il y a un arrondis qui de plus n'est pas très logique qui il se fait par excès... dans mon premier exemple dont la durée est 03:12 (MI:SS) cela me donne 04:00 et pas 03:00 !!!

Donc j'aimerais savoir comment faire pour ne pas avoir cette saloperie d'arrondis !!! ou éventuellement une autre solution plus efficace pour arriver à mes fins.

Merci