[oracle] arrondir une heure ?

arrondir une heure ? [oracle] - SQL/NoSQL - Programmation

Marsh Posté le 02-04-2003 à 12:35:08    

Sous oracle comment je peut arrondir une heure ?
 
ex :  
j'ai 3 lignes
12:01:54
13:25:41
15:32:00
 
à l'aide d'une intruction select je veux obtenir les heures arrondies à la 10zaine de minutes inferieure
 
donc pour l'exemple j'obtiendrai :
12:00:00
13:20:00
15:30:00
 
quelqu'un à une idée ?
 
merci d'avance.

Reply

Marsh Posté le 02-04-2003 à 12:35:08   

Reply

Marsh Posté le 02-04-2003 à 13:54:20    

Avec une série de decode imbriqué  
et d'extraction/concaténation de chaine
ex 12:01:23
si position(4) = 0 alors concat('12:0',0':00';)
sinon si position(4) = 1 alors concat('12:1',0':00';)
...
 
 
 

Reply

Marsh Posté le 02-04-2003 à 15:09:58    

Sans decode, on peut faire ça:
 
select sysdate AVANT, to_char(sysdate,'HH24:';)||to_char(trunc(to_number(to_char(round(sysdate,'MI';),'MI';)),-1))||':00' APRES from dual
 
un peu long mais ça marche, remplace sysdate par ton heure

Reply

Marsh Posté le 04-04-2003 à 17:35:32    

Agagax a écrit :

Sans decode, on peut faire ça:
 
select sysdate AVANT, to_char(sysdate,'HH24:';)||to_char(trunc(to_number(to_char(round(sysdate,'MI';),'MI';)),-1))||':00' APRES from dual
 
un peu long mais ça marche, remplace sysdate par ton heure


 
 :jap:  :jap:  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed