Както казаха други, трябва да игнорирате годината във вашето сравнение. Функцията DAYOFYEAR() е един от начините да направите това.
Ето едно бързо решение на главата ми. Той ще върне всички рождени дни през следващите 10 дни, дори ако е края на декември и рожденият ден е следващата година.
Той НЕ се справя правилно с високосните години, така че ще бъде изключен с 1 ден за рождените дни в началото на март, ако тази година е високосна и лицето не е роден през високосна година или обратно. Високосните години също ще накарат рождените дни в началото на януари да се появяват понякога в един почивен ден в края на декември. Ако някой иска да добави корекция за високосната година, не се колебайте :)
SELECT birthdate
FROM Anniversaries
WHERE dayofyear(birthdate) - dayofyear(curdate()) between 0 and 10
or dayofyear(birthdate) + 365 - dayofyear(curdate()) between 0 and 10;