Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Calculo de fecha en segundos

Estas en el tema de Calculo de fecha en segundos en el foro de Oracle en Foros del Web. Hola a todos tengo un problema select (05/01/2006-04/01/2006) from dual me da como resultado 0,000498504486540379 y me deberia dar 1 :S alguien sabe cual puede ...
  #1 (permalink)  
Antiguo 03/12/2006, 22:17
 
Fecha de Ingreso: mayo-2005
Mensajes: 103
Antigüedad: 19 años
Puntos: 2
Pregunta Calculo de fecha en segundos

Hola a todos tengo un problema

select (05/01/2006-04/01/2006) from dual



me da como resultado 0,000498504486540379
y me deberia dar 1 :S

alguien sabe cual puede ser el problema, ademas
necesito calcular la diferencia entre dos fechas en segundos.
gracias
  #2 (permalink)  
Antiguo 04/12/2006, 01:45
 
Fecha de Ingreso: noviembre-2006
Mensajes: 5
Antigüedad: 17 años, 5 meses
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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:38.