Para comparar Fechas con horas, en la que solo quieres comparar la FECHA, utiliza datediff:
Para misma fecha
Código SQL
[-]
select ....
datediff(dd, '01/01/2006',fecha)=0
Entre Fechas:
Código SQL
[-]
declare
@fecha_ini datetime,
@fecha_fin datetime
set @fecha_ini='01/01/2006'
set @fecha_fin='30/01/2006'
select ....
datediff(dd, @fecha_ini,fecha)=>0 and
datediff(dd, fecha, @fecha_fin)=>0
Tambien es válido algo como;
Código SQL
[-]
select ....
datediff(dd, @fecha_ini,fecha)=>0 and
datediff(dd, @fecha_fin, fecha)<=0
Mira bien los signos => y <=
Saludos !
Edito: para dejar claro, aunque dice dd (dia), no es solo el dia, compara toda la fecha... tambien puedes usar yy (año) ó mm (mes)..