MySQL "between" clause not inclusive?
Solution 1:
From the MySQL-manual:
This is equivalent to the expression (min <= expr AND expr <= max)
Solution 2:
The field dob
probably has a time component.
To truncate it out:
select * from person
where CAST(dob AS DATE) between '2011-01-01' and '2011-01-31'
Solution 3:
The problem is that 2011-01-31 really is 2011-01-31 00:00:00. That is the beginning of the day. Everything during the day is not included.