BETWEEN

07/07/2005 - 21:12 por Marlen | Informe spam
Compañeros

Necesito reportes por periodos de fechas.

Por ejemplo : del 01/febrero/2005 al 28/febrero/2005

Mando a llamar mi reporte haciendo uso de la siguiente
instrucción

Select * from tabla
WHERE (fch_elaboracion BETWEEN CONVERT(DATETIME, '2005-02-
01', 102) AND CONVERT(DATETIME, '2005-02-28', 102))

Pero al ejecutarse la consulta no me muestra la
información del 01 de febrero, ni la del 28 de febrero,
sino solo los datos intermedios.

Mi base de datos esta en SQL Server

¿Cómo puedo resolver esto?

Gracias
 

Leer las respuestas

#1 Manuel Vera
07/07/2005 - 22:23 | Informe spam
Prueba con el formato de fecha internacional, asi:
fecha between {d '2005-02-01'} and {d '2005-02-28'}

quizás haya algún problema con la conversión.

NOTA: si estas grabando la hora en el campo, por ejemplo, si usas GETDATE()
para grabar el dato, entonces no te tomará el día 28, pues en tu registro
existirá la fecha como: 28/02/2005 12:34:56 (por decir algo) y tu máximo en
el between sería: 28/02/2005 00:00:00. Para evitar esto, tendrías que
evaluar la fecha máxima como el día siguiente. Esto en caso que se esten
grabando los tiempos junto con las fechas. Este problema no se presenta con
la fecha de inicio.

Salu2
MV

Preguntas similares