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

Saber si una fecha tiene mas de 24 horas

Estas en el tema de Saber si una fecha tiene mas de 24 horas en el foro de Oracle en Foros del Web. Buenas tardes tengo un campo fch_grabacion (TIMESTAMP ) el cual quiero comparar contra el SYSDATE y ver si tiene mas de 24 horas. Hice esto ...
  #1 (permalink)  
Antiguo 25/02/2016, 12:00
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 4 meses
Puntos: 0
Saber si una fecha tiene mas de 24 horas

Buenas tardes tengo un campo fch_grabacion (TIMESTAMP )
el cual quiero comparar contra el SYSDATE y ver si tiene mas de 24 horas.

Hice esto
Código SQL:
Ver original
  1. SELECT sysdate, to_date(to_char(fch_grabacion, 'dd/mm/yyyy hh24:mi:ss'), 'dd/mm/yyyy hh24:mi:ss'),
  2.   MOD( (SYSDATE - to_date(to_char(fch_grabacion, 'dd/mm/yyyy hh24:mi:ss'), 'dd/mm/yyyy hh24:mi:ss'))*24, 24 ) FROM tb_msc_reserva

Pero tiene error si la fecha de ayer es antes de las 12

SYSDATE FCH_GRABACION, DIFERENCIA
25/02/2016 12:57:00 25/02/2016 7:28:09 5.48083333333333 ESTA OK
25/02/2016 12:57:00 24/02/2016 8:30:15 4.44583333333333 MAL :(
25/02/2016 12:57:00 24/02/2016 16:33:50 20.3861111111111 ESTA OK

GRACIAS!!!

Última edición por gnzsoloyo; 25/02/2016 a las 12:34
  #2 (permalink)  
Antiguo 29/03/2016, 14:09
Avatar de Jesrat  
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Respuesta: Saber si una fecha tiene mas de 24 horas

prueba con esto:

Código SQL:
Ver original
  1. SELECT CASE WHEN numtodsinterval(SYSDATE-TO_DATE('28/03/2016 14:10:00','dd/mm/yyyy hh24:mi:ss'),'day') > numtodsinterval(1,'day') THEN 'mas de 24H' ELSE 'menos de 24H' END FROM dual
  #3 (permalink)  
Antiguo 29/03/2016, 14:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Saber si una fecha tiene mas de 24 horas

Cita:
Iniciado por Murallitz Ver Mensaje
Buenas tardes tengo un campo fch_grabacion (TIMESTAMP )
el cual quiero comparar contra el SYSDATE y ver si tiene mas de 24 horas.
Me parece que la estás haciendo demasiado complicada...

Si han pasado más de 24 horas, debe cumplir la condición de
Código SQL:
Ver original
  1. SELECT ...
  2. FROM ...
  3. WHERE campoDeFecha < SYSDATE-1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: fecha, horas, select
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 13:48.