他の人が述べているように、あなたはあなたの比較で年を無視する必要があります。 DAYOFYEAR()関数はそれを行う1つの方法です。
これが私の頭のてっぺんからの簡単な解決策です。 12月下旬で、誕生日が来年であっても、10日以内にすべての誕生日が返されます。
うるう年は適切に処理されないため、今年がうるう年で、うるう年に生まれていない場合、またはその逆の場合は、3月上旬の誕生日に1日オフになります。うるう年では、1月上旬の誕生日が12月下旬の1日休みになることもあります。うるう年の修正を追加したい場合は、お気軽に:)
SELECT birthdate
FROM Anniversaries
WHERE dayofyear(birthdate) - dayofyear(curdate()) between 0 and 10
or dayofyear(birthdate) + 365 - dayofyear(curdate()) between 0 and 10;