Quand 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
Réponses:
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 ajouter 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 DATE_ADD
ne permet pas d'ajouter 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 temps, utilisez now()
plutôt que curdate()
.
Pour plusieurs types d'intervalle, utilisez une construction imbriquée 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