关于SQLserver2008中批量数据更新表中的某一字段的值,字段类型为datetime,想要只修改年月日,不修改时分秒
由于前期数据混乱,现在要修改上万条的数据,悲剧啊,现在表tab中有3个字段分别为time1,time2,time3,这三个字段都是datetime格式的,其中time2的年月日错了(time2要在time1和time3之间),我要只改其中的年月日不改时分秒,将time2的年月日改成比time1的年月日大5~7天,这个可以用随机函数select 5+abs(checksum(newid()))%(7-5+1)来获取(最烦的是每条记录的时间都是不同的)请各位大神赐教!!!
[解决办法]
使用dateadd加天啊,参考
http://msdn.microsoft.com/zh-cn/library/ms186819.aspx
[解决办法]
update tab set time2=dateadd(day,5+abs(checksum(newid()))%(7-5+1),time2);