使用随机日期时间 sql 服务器更新多行
update multiple rows with random datetime sql server
我有 table sql 包含 3000 行的服务器 2005 就像那样
<<ID>> <<Time>>
5620298 2015-01-05 16:00:00.000
5620299 2015-01-06 16:00:00.000
5620300 2015-01-07 16:00:00.000
5620301 2015-01-08 16:00:00.000
5620302 2015-01-09 16:00:00.000
5620303 2015-01-10 16:00:00.000
5620304 2015-01-11 16:00:00.000
5620305 2015-01-12 16:00:00.000
5620306 2015-01-13 16:00:00.000
我想在 1 到 10 分钟之间随机更改时间
<<ID>> <<Time>>
5620298 2015-01-05 16:02:00.000
5620299 2015-01-06 16:05:00.000
5620300 2015-01-07 16:01:00.000
5620301 2015-01-08 16:00:00.000
5620302 2015-01-09 16:02:00.000
5620303 2015-01-10 16:07:00.000
5620304 2015-01-11 16:06:00.000
5620305 2015-01-12 16:09:00.000
5620306 2015-01-13 16:00:00.000
我该怎么做?
谢谢!
你可以:
UPDATE TBL
SET [TIME] = DATEADD(MINUTE, ABS(CHECKSUM(NEWID()) % 10) + 1, [TIME])
效率不高,但大概这只是为了测试。
你可以试试 RAND()
更新待定清单
SET [TIME] = DATEADD(MINUTE, ABS(ROUND(RAND()*10,0)) , [TIME])
你可能会得到重复的随机数,同意Ale的观点;我们可以改用 NEWID()。
我有 table sql 包含 3000 行的服务器 2005 就像那样
<<ID>> <<Time>>
5620298 2015-01-05 16:00:00.000
5620299 2015-01-06 16:00:00.000
5620300 2015-01-07 16:00:00.000
5620301 2015-01-08 16:00:00.000
5620302 2015-01-09 16:00:00.000
5620303 2015-01-10 16:00:00.000
5620304 2015-01-11 16:00:00.000
5620305 2015-01-12 16:00:00.000
5620306 2015-01-13 16:00:00.000
我想在 1 到 10 分钟之间随机更改时间
<<ID>> <<Time>>
5620298 2015-01-05 16:02:00.000
5620299 2015-01-06 16:05:00.000
5620300 2015-01-07 16:01:00.000
5620301 2015-01-08 16:00:00.000
5620302 2015-01-09 16:02:00.000
5620303 2015-01-10 16:07:00.000
5620304 2015-01-11 16:06:00.000
5620305 2015-01-12 16:09:00.000
5620306 2015-01-13 16:00:00.000
我该怎么做?
谢谢!
你可以:
UPDATE TBL
SET [TIME] = DATEADD(MINUTE, ABS(CHECKSUM(NEWID()) % 10) + 1, [TIME])
效率不高,但大概这只是为了测试。
你可以试试 RAND()
更新待定清单 SET [TIME] = DATEADD(MINUTE, ABS(ROUND(RAND()*10,0)) , [TIME])
你可能会得到重复的随机数,同意Ale的观点;我们可以改用 NEWID()。