Oracle - comparar fechas

 
Vista:

comparar fechas

Publicado por Quim (3 intervenciones) el 06/10/2008 17:39:45
Hola,

tengo un problema con una condición de una query sql, en ella quiero que se me devuelva una lista con los codepatient que cumplen varias condiciones en varias tablas relacionadas. Todas las condiciones funcionan correctamente excepto la que incluye el sisdate. El campo today de la tabal visit es del tipo date. La query en cuestión es:

select patient.CODEPATIENT from patient,episode A where
patient.codepatient=A.codepatient and patient.patient_active=1 and A.CLOSED='N' and
(SYSDATE-30)<= (select today from (select rownum fila,today from visit where visit.codeep=A.codeep order by TODAY DESC)where fila=1)

No sé porqué, el resultado de esta query siempre es vacío y debería no ser así.

Gracias y un saludo
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:comparar fechas

Publicado por Dante (4 intervenciones) el 07/10/2008 11:26:46
no se si sea de ayuda pero a los campos fechas tratalos como el to_char yyyymmdd, poniendo asi en ambos lados (sysdate y today) ya puedes hacer la comparacion.

Espero te sirva..avisame si
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:comparar fechas

Publicado por Quim (3 intervenciones) el 07/10/2008 16:28:45
Hola,

no me ha funcionado, la verdad es que es bastante raro... de todas maneras, ¿para comparar con un < o un > nos sirve una string? ¿No sería más adecuado convertir a formato numérico? No sé, no domino mucho Oracle.

Mil gracias.

Un saludo
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:comparar fechas

Publicado por Rodolfo Reyes (59 intervenciones) el 07/10/2008 22:42:04
A mi me da la impresión de que la siguiente parte del Query:

(select today
from (select rownum fila,today
from visit
where visit.codeep=A.codeep
order by TODAY DESC
)
where fila=1
)

No te esta devolviendo registros.

Haz la prueba de poner algun a.coddep a pie, para ver que resultado te devuelve.

select today
from (select rownum fila,today
from visit
where visit.codeep= ' XXXXXX'
order by TODAY DESC
)
where fila=1

Es la unica explicación que le encuento.
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:comparar fechas

Publicado por sm (1 intervención) el 12/10/2008 17:10:59
Hola Colocale un trunc de ambos lados en la where
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