As others have answered, you probably have a DATETIME
(or other variation) column and not a DATE
datatype.
Here's a condition that works for all, including DATE
:
SELECT *
FROM xxx
WHERE dates >= '20121026'
AND dates < '20121028' --- one day after
--- it is converted to '2012-10-28 00:00:00.000'
;
@Aaron Bertrand has blogged about this at: What do BETWEEN
and the devil have in common?