query con fechas en oracle

eliza
26 de Enero del 2009
Tengo un problema al comparar una fecha que paso como parametro y que comparo con un campo fecha de tipo "date" se que los tipo date estan compuestos por fecha y hora y por eso hice la comparacion con el like pero no me funciona. Si alguien me puede ayudar se lo agradeceria.

carlosu
26 de Enero del 2009
Hola, como estas, fiajte no se exactamente como lo estabas comparando, pero por lo regular uno no compara fechas con like, recuerda que al comparar fechas debe ser con un valor tipo fecha, otra cosa, algunas veces hay que truncar la fecha para que no de problemas, cuentame mejor tu caso y te ayudaresmos.

Rodolfo Reyes
26 de Enero del 2009
Si el tipo del parametro es "DATE" y como indicas estas comparando contra otro campo tipo "DATE", el LIKE es una mala idea para comparar las fechas.
Lo que podrias hacer por si los dos campos traen la hora es truncar la hora y quedarte solo con la fecha.

Ejemplo:

if to_date(to_char(fecha01,'DD/MM/YYYY'),'DD/MM/YYYY') = to_date(to_char(fecha02,'DD/MM/YYYY'),'DD/MM/YYYY') then

else

end if;


Rick
26 de Enero del 2009
Eliza:
No se si es tu caso, pero existe una forma de comparar fechas en las que podes pasarle fecha o fechas como parametros

Ej1:

Para buscar en una tabla todas las filas que correspondan a UNA fecha en particular (desde las 00:00:00 hasta las 23:59:59

Select *
from tabla
where col_fecha
between to_date(pfecha,'dd/mm/yyyy')
and to_date(pfecha,'dd/mm/yyyy') + .99999

Para buscar en una tabla todas las filas esten entre
las 00:00:00 de la primer fecha y las 23:59:59 de la
segunda fecha:

Select *
from tabla
where col_fecha
between to_date(pfecha_desde,'dd/mm/yyyy')
and to_date(pfecha_hasta,'dd/mm/yyyy') + .99999

Espero que te sea de utilidad.
Rick

fatima
26 de Enero del 2009
helloooo es para preguntar.. tengo en una tabla empleados fechas de nac.. quiero saber quienes cumplen en el año 1990 o quienes cumplen en abril de cualquier año como puedo hacer el query... mi rollo esta cuando quiero solo tomar el año sin prestarle atencion a el dia y mes para el año... creo q con una respuesta resuelvo las dudas