Для SQL-сервера попробуйте это
DECLARE @tbl table(dtm datetime)
insert into @tbl
values ('20110914 00:59:00'),
('20110915'),
('20110915 05:10:00'),
('20110916 05:10:00'),
('20111029 05:10:00'),
('20111029'),
('20111030')
SELECT *
FROM @tbl
WHERE dtm>='20110915' AND dtm<'20111030'
Чтобы вернуть дату без времени из значения даты и времени, вы можете использовать это CONVERT(datetime,CONVERT(varchar,@date,1),1)
В SQL SERVER 2008 + вы можете использовать DATE тип данных, в этом случае вы можете использовать dtm<='20111029'
.