2010-10-05 13 views
66

Cuando quiero valor numérico de ajuste 1 en la tabla de MySQL, yo uso ej .:fecha de actualización + un año de MySQL

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

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

Gracias

+0

http://dev.mysql.com/ doc/refman/5.1/es/date-and-time-functions.html # function_adddate –

Respuesta

120

usted podría utilizar DATE_ADD: (o con ADDDATEINTERVAL)

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

Este post me ayudó hoy, pero tenía que experimentar para hacer lo que necesitaba. Esto es lo que encontré.

en caso de que desee agregar períodos de tiempo más complejos, por ejemplo, 1 año y 15 días, puede utilizar

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

He encontrado que el uso de DATE_ADD no permite la adición de más de un intervalo. Y no hay una palabra clave de intervalo de YEAR_DAYS, aunque hay otras que combinan períodos de tiempo. Si está agregando tiempos, use now() en lugar de curdate().

2

para múltiples tipos de intervalo utilizar 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 dada en la columna date 1 año + 1 día