Đặt các giá trị ngày tháng của bạn trong dấu ngoặc kép vì chúng là các chuỗi ký tự, nếu không MySQL không thể phân biệt đó là ngày chứ không phải số (2011 MINUS 1 MINUS 1 =2009).
Bạn cũng không cần các phôi DATE () xung quanh chúng.
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')