Date de mise à jour + un an dans mysql

Lorsque je veux définir la valeur numérique +1 dans la table mysql, j’utilise par exemple:

UPDATE table SET number=number+1 WHEN ... 

Comment puis-je définir la date + un an?

Merci

Vous pouvez utiliser DATE_ADD : (ou ADDDATE avec INTERVAL )

 UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 

Ce post m’a aidé aujourd’hui, mais j’ai dû expérimenter pour faire ce dont j’avais besoin. Voici ce que j’ai trouvé.

Si vous souhaitez append des périodes plus complexes, par exemple 1 an et 15 jours, vous pouvez utiliser

 UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR; 

J’ai trouvé que l’utilisation de DATE_ADD ne permet pas d’append plus d’un intervalle. Et il n’y a pas de mot-clé d’intervalle YEAR_DAYS, bien qu’il y en ait d’autres qui combinent des périodes. Si vous ajoutez des heures, utilisez now() plutôt que curdate() .

Pour plusieurs types d’intervalles, utilisez une construction nestede comme dans:

  UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY) 

Pour mettre à jour une date donnée dans la colonne date à 1 an + 1 jour