在mysql中更新日期+一年

Baj*_*jlo 92 mysql date

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

UPDATE table SET number=number+1 WHEN ...
Run Code Online (Sandbox Code Playgroud)

如何设置日期+一年?

谢谢

Jul*_*rau 163

You could use DATE_ADD : (or ADDDATE with INTERVAL)

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
Run Code Online (Sandbox Code Playgroud)


小智 16

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

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

UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR;
Run Code Online (Sandbox Code Playgroud)

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


小智 6

对于多个区间类型,使用嵌套结构,如下所示:

 UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY)
Run Code Online (Sandbox Code Playgroud)

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