Neznám přesně syntaxi MySQL, ale nešlo by udělat toto ?!? :
pom := ( DAYOFYEAR(CURDATE()) - DAYOFYEAR(narozeniny) ) ;
if
(( pom >= -31 ) AND ( pom <= 7 )) /* jen povoleny posun - zadne preteceni */
or ( pom - 365 >= -31 ) /* narozeniny budou zacatkem roku, CURADTE tesne pred koncem */
or ( pom + 365 <= 7 )) /* narozeniny byly koncem roku, CURADTE tesne po zacatku noveho */
then "ANO"
Vycházím z předpokladu, že se bude upozorňovatm ěsíc dpředu a týden zpětně.