Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/12/2006, 01:45
Jaitrum
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Buenas. Oracle no entiende como fecha lo que le estás pasando, sino que entiende como numéricos y que es una división, y después resta:

15/01/2006=0,00747..
14/01/2006=0,00697..
y lo que te devuelve es la resta=0,00049...
Para que oracle entienda que es una fecha, tendrás que poner algo así:
TO_DATE('15/01/2006','DD/MM/YYYY')-TO_DATE('14/01/2006','DD/MM/YYYY')
En este caso, sí que te devuelve un 1.

Para lo de los segundos, como Oracle muestra la diferencia en días, hay que multiplicar por horas del día, minutos y segundos. Quedaría algo así:
(TO_DATE('15/01/2006 23:50:50','DD/MM/YYYY HH24:MI:SS')-TO_DATE('15/01/2006 23:50:42','DD/MM/YYYY HH24:MI:SS'))*60*60*24

Un saludo.