Ajouter une année à une date

Pour ajouter une année à une date on aurait tendance à faire :

1
select sysdate + 365 AS ANNEE_SUP from dual;

Ou :

1
select ADD_MONTHS(sysdate, 12) AS ANNEE_SUP from dual;

Mais en fin de compte la bonne syntaxe est :

1
select sysdate + interval '1' year AS ANNEE_SUP  from dual;


Effectivement :

  • la première solution suivant si on se place dans une année bissextile ou pas ne fonctionnera pas
  • la seconde solution de ce que j’ai pu en lire sur un site officiel Oracle ne marche pas non plus à tous les coups encore une fois à cause de ces années bissextiles…
  • du coup ajouter un intervalle fonctionnel à 100% ! alors surtout quand vous voulez ajouter une année à une date utiliser « interval » !

Laisser un commentaire