Duda con fechas en Oracle SQL+

scrach
22 de Septiembre del 2003
Hola,

Estoy usando una BD Oracle, y en una tabla con un campo de tipo DATE me encuentro con que al hacer:
select * from TABLA where to_char(COLUMNA)='14/09/03';

obtengo resultados, mientras que al hacer

select * from TABLA where COLUMNA=to_date('14/09/03');

no obtiene resultados, y esto ocurre aún especificando el formato de la fecha.

¿Alguien sabe por qué ocurre esto? ¿Qué hago mal¿

gracias.

esther
22 de Septiembre del 2003
Hola, esto pasa porque oracle internamente no guarda las fechas en el formato 'dd/mm/yy' sino que lo hace con mucha más información, por eso cuando intentas comparar fechas con la función date, no te devuelve ningún dato.
Lo mejor para comparar fechas en oracle es utilizar el to_char, ya que puedes decirle el formato de la variable que pasas a char, por ejemplo:
to_char(columna,'dd/mm/yyyy')='14/08/2003'.
Espero que te haya servido y que me haya explicado bien.

sergok
22 de Septiembre del 2003
Te aconsejo que uses:
select * from TABLA where COLUMNA=to_date('14/09/03','dd/mm/yyyy');

Maria
22 de Septiembre del 2003
Te aconsejo que sigas la instrucciones de esther, asi es como funciona