Fecha de actualización + un año en mysql

97

Cuando quiero configurar el valor numérico +1 en la tabla mysql, uso, por ejemplo:

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

¿Cómo puedo configurar la fecha + un año?

Gracias

Bajlo
fuente

Respuestas:

174

Puede usar DATE_ADD : (o ADDDATE con INTERVAL)

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
Julien Hoarau
fuente
17

Esta publicación me ayudó hoy, pero tuve que experimentar para hacer lo que necesitaba. Esto es lo que encontré.

Si desea agregar períodos de tiempo más complejos, por ejemplo, 1 año y 15 días, puede usar

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

Descubrí que el uso DATE_ADDno permite agregar más de un intervalo. Y no hay una palabra clave de intervalo YEAR_DAYS, aunque hay otras que combinan períodos de tiempo. Si está agregando tiempos, use en now()lugar de curdate().

Fred McIntyre
fuente
4

Para múltiples tipos de intervalo, use una construcción anidada como en:

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

Para actualizar una fecha determinada en la columna datea 1 año + 1 día

Raffael Meier
fuente