mysql between operator with dates
问题 select '2011-02-29' BETWEEN '2011-02-01' AND '2011-03-03' this is returning 1. I think between doesn't consider leap year. I want your view on this? [EDIT] SELECT DATE( '2010-04-31' ) is returning NULL; But select str_to_date('2010-04-31', '%Y-%m-%d') is retuning date. Why? Thanks Venu 回答1: you need to cast it to date like: SELECT DATE('2011-02-29') BETWEEN DATE('2011-02-01') AND DATE('2011-03-03') from the site : For best results when using BETWEEN with date or time values, use CAST() to