2010-10-05 28 views
66

當我想在MySQL表設定的數值+1,我使用例如: -更新日期+一年MySQL的

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

如何設置日期+學制一年?

感謝

+0

http://dev.mysql.com/ DOC/refman/5.1/EN /日期和時間functions.html#function_adddate – 2010-10-05 15:14:37

回答

120

你可以使用DATE_ADD:(或ADDDATEINTERVAL

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

這篇文章今天幫了我,但我不得不嘗試做什麼,我需要。這是我發現的。

如果你想添加更多複雜的時間段,例如1年期和15天,你可以使用

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

我發現,使用DATE_ADD不允許添加多個間隔。並且沒有YEAR_DAYS間隔關鍵字,但也有其他組合時間段的關鍵字。如果您要添加時間,請使用now()而不是curdate()

2

對於多個間隔類型使用嵌套結構如:

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

對於列中的更新給定日期date至1年+1天