SELECT * FROM mytable ; WHERE DATE(YEAR(DATE()), MONTH(birthdate), DAY(birthdate)) BETWEEN DATE() AND DATE() + 30 OR DATE(YEAR(DATE())+1, MONTH(birthdate), DAY(birthdate)) BETWEEN DATE() AND DATE() + 30 * or even better ldStart = DATE() ldEnd = ldStart + 30 SELECT * FROM mytable ; WHERE DATE(YEAR(ldStart), MONTH(birthdate), DAY(birthdate)) BETWEEN ldStart AND ldEnd OR DATE(YEAR(ldStart)+1, MONTH(birthdate), DAY(birthdate)) BETWEEN ldStart AND ldEnd>I'll give it a try... let you know how it goes shortly....
>>SELECT * FROM mytable ; >> WHERE DATE(YEAR(DATE()), MONTH(birthdate), DAY(birthdate)) BETWEEN DATE() AND DATE() + 30 >>