在mysql中更新日期+一年

时间:2010-10-05 15:11:31

标签: mysql date

当我想在mysql表中设置数值+1时,我使用例如:

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

如何设置日期+一年?

由于

3 个答案:

答案 0 :(得分:151)

您可以使用DATE_ADD :(或ADDDATEINTERVAL

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

答案 1 :(得分:16)

这篇文章今天对我有所帮助,但我不得不尝试做我需要的事情。这是我发现的。

如果您想添加更复杂的时间段,例如1年和15天,您可以使用

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

我发现使用DATE_ADD不允许添加多个间隔。并且没有YEAR_DAYS区间关键字,尽管还有其他组合时间段。如果您要添加时间,请使用now()而不是curdate()

答案 2 :(得分:3)

对于多个区间类型,请使用嵌套构造,如:

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

用于将列date中的给定日期更新为1年+ 1天