我想在表中的每一行中为datetime-type列添加1年.对于数字类型,使用UPDATE语句添加很容易.例如:
UPDATE TABLE SET NUMBERCOLUMN = NUMBERCOLUMN + 1
Run Code Online (Sandbox Code Playgroud)
我想用DATETIME类型做同样的事情......
UPDATE Procrastination SET DropDeadDueDate = DropDeadDueDate + ?
Run Code Online (Sandbox Code Playgroud)
......但我不确定使用什么价值.我可以使用的数字值是"1年"吗?或者SQL Server中是否有DATEADD函数或类似函数?
其他问题
我想这不是针对一个字段,而是针对数据类型'datetime'的数据库中的每个字段.有没有一种简单的方法可以选择"datetime"类型的所有字段并执行添加x年数的更新?我是sql的新手,所以请温柔......
Mat*_*nes 49
事实上在T-SQL中有一个DATEADD语句,你可以在这里找到它
UPDATE Procrastination SET DropDeadDueDate = DATEADD(yyyy,1,DropDeadDueDate)
Run Code Online (Sandbox Code Playgroud)
编辑:你可以使用year,yy或yyyy作为DATEADD的第一个参数.
它可以使用像这样的DATEADD()函数来完成:
UPDATE Procrastination SET DropDeadDueDate = DATEADD(yy, 1, DropDeadDueDate)
Run Code Online (Sandbox Code Playgroud)
UPDATE Procrastination SET DropDeadDueDate = DATEADD(year, 1, DropDeadDueDate)
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/ms186819.aspx