Update Datum + ein Jahr in MySQL

97

Wenn ich den numerischen Wert +1 in der MySQL-Tabelle festlegen möchte, verwende ich z.

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

Wie kann ich Datum + ein Jahr einstellen?

Vielen Dank

Bajlo
quelle

Antworten:

17

Dieser Beitrag hat mir heute geholfen, aber ich musste experimentieren, um das zu tun, was ich brauchte. Folgendes habe ich gefunden.

Wenn Sie komplexere Zeiträume hinzufügen möchten, z. B. 1 Jahr und 15 Tage, können Sie diese verwenden

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

Ich habe festgestellt, dass bei Verwendung DATE_ADDnicht mehr als ein Intervall hinzugefügt werden kann. Und es gibt kein YEAR_DAYS-Intervallschlüsselwort, obwohl es andere gibt, die Zeiträume kombinieren. Wenn Sie Zeiten hinzufügen, verwenden Sie now()statt curdate().

Fred McIntyre
quelle
4

Verwenden Sie für mehrere Intervalltypen eine verschachtelte Konstruktion wie folgt:

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

Zum Aktualisieren eines bestimmten Datums in der Spalte dateauf 1 Jahr + 1 Tag

Raffael Meier
quelle