Oracle - Como filtrar con fechas

 
Vista:

Como filtrar con fechas

Publicado por Miguel (26 intervenciones) el 22/03/2004 09:34:58
Hola

Necesito filtrar datos a través de un campo con fechas y no encuantro la forma de hacerlo.

SELECT FROM DB.TABLE1 WHERE FECHA BETWEEN ' + DATE1 + ' AND ' + DATE2;

He probado con todos los formatos posible de fecha , ahora lo tengo con este

DATE2 := '2003, 8, 30'; pero no hay forma , cómo puedo hacerlo ?

Otra pregunta , el campo lo tengo como DATE , pero ¿es posible hacerlo también si el campo fuera del tipo VARCHAR2 ? o necesariamente es mejor que para filtrar datos con fechas el campo sea DATE.

Gracias
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:Como filtrar con fechas

Publicado por Mikel (14 intervenciones) el 22/03/2004 17:14:24
Para filtrar fechas lo mejor es que el campo sea tipo date.

La forma correcta de hacer tu consulta seria la siguiente:

select *
from db.table1
where fecha between to_date(date1, 'DD/MM/YYYY') AND to_date(date2, 'DD/MM/YYYY')

Utilizo la función to_date que lleva dos parametros: el dato y el formato que lleva. Es decir, como en el formato he puesto 'DD/MM/YYYY' los datos date1 y date2 seran strings con ese formato.

Espero haberme explicado. Saludos desde Euskal Herria.

Mikel
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:Como filtrar con fechas

Publicado por Miguel (26 intervenciones) el 22/03/2004 17:35:09
¿Pero es posible que el campo FECHA sea de tipo VARCHAR2 y se puedan hacer las consultas igualmente?¿se harían de la misma forma?

Gracias
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:Como filtrar con fechas

Publicado por Mikel (14 intervenciones) el 23/03/2004 09:53:10
Si se puede hacer. Si el campo fecha es de tipo VarChar2, la consulta quedaría asi:

select *
from db.table1
where to_date(fecha, 'DD/MM/YYYY') between to_date(date1, 'DD/MM/YYYY') AND to_date(date2, 'DD/MM/YYYY')

Estoy suponiendo que en el campo fecha (aunque sea varchar2) lo tienes guardado en el formato DD/MM/YYYY, si no es así le tendrías que poner en el to_date(fecha, ....) el formato en que esta.

Saludos

Mikel

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:Como filtrar con fechas

Publicado por zerolinux (1 intervención) el 14/04/2023 00:19:49
select *from tutabla
where fecha between to_date('15/10/2023', 'DD/MM/YYYY') AND to_date('31/10/2023', 'DD/MM/YYYY')
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