2010-10-05 19 views
66

Quando voglio impostazione valore numerico +1 nella tabella mysql, io uso ad es .:Aggiornamento Data + un anno in mysql

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

Come posso impostare la data + un anno?

Grazie

+0

http://dev.mysql.com/ doc/refman/5.1/it/data-e-tempo-functions.html # function_adddate –

risposta

120

Si potrebbe usare DATE_ADD: (o ADDDATE con INTERVAL)

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

Questo post mi ha aiutato oggi, ma ho dovuto sperimentare per fare quello che mi serviva. Ecco cosa ho trovato.

dovrebbe volete aggiungere periodi di tempo più complessi, ad esempio, di 1 anno e 15 giorni, è possibile utilizzare

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

ho scoperto che l'uso DATE_ADD non consente per l'aggiunta di più di un intervallo. E non esiste una parola chiave intervallo YEAR_DAYS, anche se ce ne sono altri che combinano periodi di tempo. Se si aggiungono orari, utilizzare now() anziché curdate().

2

per più tipi di intervallo utilizzare una costruzione nidificato come in:

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

Per l'aggiornamento di una data determinata colonna date a 1 anno + 1 giorno