更新date+在MySQL一年

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

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

我如何设定date+一年?

谢谢

你可以使用DATE_ADD :(或ADDDATE与INTERVAL

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

这个post今天帮了我,但我不得不做一些我所需要的。 这是我发现的。

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

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

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

对于多个区间types,使用如下所示的嵌套构造:

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

将列date的给定datedate为1年+1天