Oracle - Fechas

 
Vista:

Fechas

Publicado por Nacho (2 intervenciones) el 10/09/2001 13:50:13
Hola,

¿Cómo puedo restar dos campos de tipo "DATE"?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Fechas

Publicado por JFSD (50 intervenciones) el 10/09/2001 17:37:45
Simplemente restalos, la diferencia sera en dias.

Si hay decimales, es la parte de horas minutos

Ejemplo

select sysdate-trunc(sysdate)
from dual;

select sysdate - to_date('18082001','ddmmyyyy')
from dual;

select trunc(sysdate) - to_date('18082001','ddmmyyyy')
from dual;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fechas

Publicado por Nacho (2 intervenciones) el 10/09/2001 18:24:07
Lo que me has proporcionado es adecuado para días y meses, pero lo que yo necesito es comparar también las horas, minutos y demás. Es decir, los decimales. Según las pruebas que hecho, al hacer la resta Oracle pierde la referencia de fecha, y cuando quieres pasar el número que sale de la operación a un char con formato aparecen '#######'. La verdad es que empiezo a dudar de que se pueda hacer. A ver si me lo puedes confirmar... De todos modos gracias por responder tan rápido!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fechas

Publicado por JFSD (50 intervenciones) el 11/09/2001 18:31:42
Una ves que restes las fecha, de la parte decimal, comviete a horas, minutos segundos, saca su conversion por regla de 3
1 = 24 horas
x (decimal de la resta ) = Horas

Entonces
Horas = x(decimales de la resta) * 24
Imaginate que de la resta obtienes 15.5 dias, la parte entera son los dias y .5 son las horas, entonces 0.5 de la resta serian las horas por lo que Horas = 0.5 + 24 = 12 horas,

Si tuvieras 15.53125, entonces son 15 horas,
luego multiplicas 0.53125 * 24 = 12.75 Tomas 12 horas y 0.75 seran la parte se 1 hora entonces ahora seria 0.75 * 60 = 45 Minutos y lo mismo para los segundos.

Los decimales restantes serian para minutos

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fechas

Publicado por JFSD (50 intervenciones) el 11/09/2001 18:31:58
Una ves que restes las fecha, de la parte decimal, comviete a horas, minutos segundos, saca su conversion por regla de 3
1 = 24 horas
x (decimal de la resta ) = Horas

Entonces
Horas = x(decimales de la resta) * 24
Imaginate que de la resta obtienes 15.5 dias, la parte entera son los dias y .5 son las horas, entonces 0.5 de la resta serian las horas por lo que Horas = 0.5 + 24 = 12 horas,

Si tuvieras 15.53125, entonces son 15 horas,
luego multiplicas 0.53125 * 24 = 12.75 Tomas 12 horas y 0.75 seran la parte se 1 hora entonces ahora seria 0.75 * 60 = 45 Minutos y lo mismo para los segundos.

Los decimales restantes serian para minutos

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar