日期:2014-05-17  浏览次数:20622 次

更新数据+随机数字
各位大牛,事情经过是这样的:
公司有个考勤系统,数据库MS2000的,其中有个考勤表,之前在作业里面弄了个每天自动打卡的。当时插入每天的时间都是一样的。现在想修改打卡时间,在各自的时间上加上一个随机数字
我的更新语句是这样的

update kq_workrecord set worktime=DATEADD(minute,rand()*2,worktime) where empname='name' and workdate>='2013-01-01'

但是没有达到想要的结果,现在更新后的数据还是每天一样的。现在想每一条记录都增加一个随机数。
求更新语句。
表结构是这样的 kq_workrecord(id int identity,empno varchar(20),empname varchar(20),
worktime datetime,workdate datetime......)

------解决方案--------------------
try


update kq_workrecord set worktime=DATEADD(minute,abs(checksum(newid()))%1000,worktime) where empname='name' and workdate>='2013-01-01'
------解决方案--------------------
引用:
各位大牛,事情经过是这样的:
公司有个考勤系统,数据库MS2000的,其中有个考勤表,之前在作业里面弄了个每天自动打卡的。当时插入每天的时间都是一样的。现在想修改打卡时间,在各自的时间上加上一个随机数字
我的更新语句是这样的
SQL code?1update kq_workrecord set worktime=DATEADD(minute,rand()*2,wor……


实际上rand()*2这个是一个数字   更新的时候每行都加上的rand()*2    用newid()来,这个可以保证每行加的数据唯一