Ваша проблема может заключаться в том, что вы имеете дело с данными DATETIME, а не только с датами. Если в строке есть mydate '2008-11-25 09:30 AM', ваш WHERE mydate <= '2008-11-25'; </em> не вернет эту строку. «2008-11-25» имеет подразумеваемое время 00:00 (полночь), поэтому, хотя часть даты одинакова, они не равны, а mydate больше.
Если вы используете <'2008-11-26' вместо <= '2008-11-25', это сработает. Метод Datediff работает, потому что он сравнивает только часть даты и игнорирует время. </p>