Cita:
Empezado por MartinS
A mi tambien me pasa como expone Anubis y lo resolvi como dice Caral, es decir si indico un rango de fecha desde por ejemplo el 01/08/2012 a 31/08/2012 el 01 no me lo muestra, arranca desde el 02/08/2012 .
saludos
|
Hola MartinS.
Si es muy posible, por que el comportamiento del operador
BETWEEN depende de la implementación que le dé cada RDBMS. En algunas realiza una selección inclusiva del conjunto de datos comprendidos entre el valor inicial y final y en otros lo hace de forma exclusiva. Un tercer grupo lo hace de manera inclusiva sobre el valor inicial y exclusiva sobre el final.
Es decir que la instrucción:
Código SQL
[-]SELECT * FROM TABLA WHERE NOMBRE BETWEEN :DESDE AND :HASTA
En algunas bases de datos será equivalente a
Código SQL
[-]SELECT * FROM TABLA WHERE NOMBRE > :DESDE AND NOMBRE < :HASTA
en otras:
Código SQL
[-]SELECT * FROM TABLA WHERE NOMBRE >= :DESDE AND NOMBRE =< :HASTA
y en otras:
Código SQL
[-]SELECT * FROM TABLA WHERE NOMBRE >= :DESDE AND NOMBRE < :HASTA
Por eso es importante leer en la documentación de la base de datos a utilizar sobre el tratamiento que le da a este operador, u optar por usar los operadores <,>,= que no dá lugar a equívocos.
Saludos.