In SQL I write a SELECT
statement to fetch data between two dates, using between and
Ex:
select *
from xxx
where dates between '2012-10-26' and '2012-10-27'
But the rows returned are for 26th only, not 26th and 27th.
Can you help me? Thank you.
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?