时间字段替换

--修改d表日期字段的年份
update d
set CreateTime=STUFF(convert(nvarchar(23),CreateTime,120),1,4,'2012')
from table d

--修改d表日期字段的月份
update d
set CreateTime=STUFF(convert(nvarchar(23),CreateTime,120),6,2,'3')
from table d

--修改d表日期字段的天数
update d
set CreateTime=STUFF(convert(nvarchar(23),CreateTime,120),9,2,'25')
from table d

--修改d表日期字段的小时数
update d
set CreateTime =STUFF(convert(nvarchar(23),CreateTime,120),12,2,'9')
from table d

--修改d表日期字段的分钟数
update d
set CreateTime =STUFF(convert(nvarchar(23),CreateTime,120),15,2,'15')
from table d

--修改d表日期字段的秒数
update d
set CreateTime =STUFF(convert(nvarchar(23),CreateTime,120),18,2,'30')
from table d

--修改d表日期字段的年份、小时
update d
set CreateTime=Convert(datetime,stuff(STUFF(Convert(char,CreateTime,120), 1,4, '2011'),12,2, '02'))
from table d

--修改表日期字段的年份
update d
set CreateTime=dateadd(year,datediff(year,CreateTime,'2016-01-01'),CreateTime)
where year(CreateTime)<>2020
from table d

--修改表日期字段的小时
update d
set CreateTime=dateadd(hour,3,CreateTime)
from table d

看似简单,实则很少人去用,做个备忘录

原文地址:https://www.cnblogs.com/zhangsupermaker/p/13047993.html