¿Para que te complicas con RIGHT(), si tienes la función YEAR()?
Código:
SELECT (YEAR(CURRENT_DATE()) - YEAR(fecha_nacimiento)) edad FROM personas;
En cuanto a acotar a las que cumplen el mismo día, bueno, sería:
Código:
SELECT (YEAR(CURRENT_DATE()) - YEAR(fecha_nacimiento)) edad
FROM personas
WHERE (DAY(CURRENT_DATE()) = DAY(fecha_nacimiento)
AND MONTH(CURRENT_DATE()) = MONTH(fecha_nacimiento)
AND YEAR(CURRENT_DATE()<YEAR(fecha_nacimiento));