各位大牛,事情经过是这样的:
公司有个考勤系统,数据库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'
------解决方案--------------------
实际上rand()*2这个是一个数字 更新的时候每行都加上的rand()*2 用newid()来,这个可以保证每行加的数据唯一