Oracle - Dato fecha !!Confusión

 
Vista:

Dato fecha !!Confusión

Publicado por veronik (3 intervenciones) el 06/09/2007 20:42:51
Hola!!!!

Tengo una gran duda y agradezco de antemano su ayuda

Tengo un query que le tengo que poner como parametro la fecha de comienzo y la fecha fin
start_date y end_date

creation_date between :start_date and :end_date

mi pregunta es:
¿Cómo se que es mejor utilizar? o cu'al es la diferencia entre las siguientes sentencias?

to_date(creation_date) between :start_date and :end_date

to_date(creation_date, 'dd/mm/yyyy') between :start_date and :end_date

to_date(creation_date, 'dd/mm/yyyy') between to_date(:start_date, 'dd/mm/yyyy') and to_date(:end_date, 'dd/mm/yyyy')

to_char(creation_date) between :start_date and :end_date
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:Dato fecha !!Confusión

Publicado por Rodolfo Reyes (445 intervenciones) el 07/09/2007 17:51:09
Todo depende del tipo de dato que sea "creation_date", "start_date" y ":end_date"

Asumiendo que las tres variables son de tipo date. Entonces lo mejor seria

creation_date between :start_date and :end_date

En caso que cualquiera de los tres sea de tipo Caracter(char, varchar, etc). Tendrias que poner el to_date para convertir los caracteres a fecha, pero siempre es muy aconsejable poner el formato de la fecha

to_date(creation_date,'DD/MM/YYYY')

Unicamente le tienes que poner to_date a las variables que son de tipo caracter, porque si pones un to_date a una variable de tipo date, realmente no le estas haciendo nada, solo estas desperdiciando recursos de procesador y memoria.
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