我想在我的SQL server中更新日期时间列。考虑日期时间列包含以下值,
2015-02-13 00:00:00.000
2015-02-18 00:00:00.001
2015-02-21 00:05:00.002
2015-02-13 00:03:00.003
2015-02-19 01:00:00.004
2015-01-13 00:00:00.005
2015-01-11 00:01:00.006
2015-01-13 00:02:00.007
我想将其中的唯一一天更改为14而不对其他值(年,月,时间)进行任何更改。你能帮我写一个更新声明吗?
答案 0 :(得分:3)
根据您在何处使用DATEADD功能,例如DATEADD(day, 1, column)
。这不会影响其他部分。
如果日期部分不同,您可以使用
column = DATEADD(day, 14-DATEPART(day, column), column)
答案 1 :(得分:0)
想要更新只指定日期而不影响HH:MM:SS然后在过滤条件中也使用Substring 假设您的表格如下:
update table
set datecol = DATEADD(DAY,1,DATECOL)
where
datecol = SUBSTRING(DATECOL,0,CHARINDEX(' ',DATECOL))
答案 2 :(得分:0)
update table1
set column1 = dateadd(dd,14, convert(datetme, CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(column1)-1),column),101),112))