如何使用 SQL UPDATE 语句将 1 年添加到 DATETIME 列?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/951982/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How can I use a SQL UPDATE statement to add 1 year to a DATETIME column?
提问by Joshua Carmody
I want to add 1 year to a datetime-type column in every single row in a table. Adding using an UPDATE statement is easy for numeric types. ex:
我想在表中每一行的日期时间类型列中添加 1 年。对于数字类型,使用 UPDATE 语句进行添加很容易。前任:
UPDATE TABLE SET NUMBERCOLUMN = NUMBERCOLUMN + 1
I'd like to do the same thing with a DATETIME-type...
我想用 DATETIME 类型做同样的事情......
UPDATE Procrastination SET DropDeadDueDate = DropDeadDueDate + ?
...but I'm not sure what value to use. Is there a numeric value I could use that means "1 year"? Or is there a DATEADD function or similar in SQL Server?
...但我不确定使用什么价值。是否有我可以使用的数值表示“1 年”?或者 SQL Server 中是否有 DATEADD 函数或类似函数?
ADDITIONAL QUESTION
附加问题
I would like to do this for not one field, but for every field in the database of data type 'datetime'. Is there an easy way to select all fields of type 'datetime' and perform an update of adding x amount of years? I am new to sql so please be gentle...
我不想为一个字段执行此操作,而是为数据类型为“datetime”的数据库中的每个字段执行此操作。有没有一种简单的方法来选择“日期时间”类型的所有字段并执行添加 x 年数的更新?我是 sql 新手,所以请温柔...
回答by Matthew Jones
回答by CAbbott
It could be done with a DATEADD() function like this:
可以使用 DATEADD() 函数来完成,如下所示:
UPDATE Procrastination SET DropDeadDueDate = DATEADD(yy, 1, DropDeadDueDate)
回答by Bob
UPDATE Procrastination SET DropDeadDueDate = DATEADD(year, 1, DropDeadDueDate)
回答by GuiSim
SQL Server has a DATEADD function.
SQL Server 有一个 DATEADD 函数。
http://msdn.microsoft.com/en-us/library/aa258267(SQL.80).aspx
http://msdn.microsoft.com/en-us/library/aa258267(SQL.80).aspx
回答by Vincent Ramdhanie
回答by shahkalpesh
UPDATE Procrastination SET DropDeadDueDate =
DATEADD(yy, 1, DropDeadDueDate)
UPDATE Procrastination SET DropDeadDueDate =
DATEADD(yy, 1, DropDeadDueDate)