Sobre Resta de Fechas

Gla
20 de Abril del 2005
Hola Foro, como estan ? Necesito restar 2 fechas, en realidad dos horas, me devuelve una fraccion numerica y no me deja volver a convertirlo a fecha (horas y minutos) he estado buscando en la ayuda y me dice que la resta no esta permitida en 2 tipos de datos fecha, entonces que puedo hacer, que me recomiendan. Tiene que haber alguna forma de convertir los datos restar y volver a convertir, o algo parecido, pero ya he probado todas las funciones de conversion. Espero su atencion. Agradecida de antemano.

Rodolfo Reyes
20 de Abril del 2005
El numero que te queda, es una cantidad expresada en días.

Yo lo que he hecho es convertir este numero a minutos o a segundos.

En el siguiente ejemplo resto dos fechas que tienen de diferencia 5 minutos. Y el resultado lo doy en minutos.

select (to_date('01/01/2005 10:30:00','DD/MM/YYYY HH:MI:SS') - to_date('01/01/2005 10:25:00','DD/MM/YYYY HH:MI:SS')) * 24*60
from dual
/


cala
20 de Abril del 2005
yo pasaría las fechas a formato segundos (\'SSSSS\')
y las restaría. El resultado se obtendrá en segundos,
que se pueden pasar a minutos u horas, ya que no podrás obtener un formato fecha del resultado.
por ejemplo :

select trunc((resta / 60)) as minutos, mod(resta,60) as segundos
from(
select to_number(to_char(to_date(\'13:13:40\',\'hh24:mi:ss\'), \'SSSSS\'))
-
to_number(to_char(to_date(\'13:12:10\',\'hh24:mi:ss\'), \'SSSSS\'))
as resta
from dual);