La meilleure façon de stocker les données de date, même si le composant année n'est pas obligatoire, il faut utiliser la date. Lorsque vous avez besoin de l'utiliser, vous pouvez supprimer l'année ou la remplacer par l'année à comparer (ou l'année en cours).
L'avoir dans la colonne de date facilite le tri correct, l'intégrité, la validation etc.
Pour tenir compte des années bissextiles, utilisez une année comme '0004' qui autorise '0004-02-29'. L'utilisation de l'année 4 rend les choses légèrement plus compliquées que l'année 0, mais à titre d'exemple, cela transforme la date '29-février' (indépendante de l'année) en une date de cette année pour comparaison avec un autre champ
select
adddate(
subdate(cast('0004-02-29' as date),
interval 4 year),
interval year(curdate()) year)
result: 2011-02-28