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 » !