如何随机取出数据库中100条记录并更改其值为某个期间的随机数。

mssql数据库中有一个产品表,该表中有四个字段:ID,PRICE,COUNTS,ADDDATE。大约有1000条记录。现在我想随机从数据库中取出20条记录,把ADDDATE(长时间类型,如:2011-11-11 05:22:18)这个字段的值改为一个 2011-11-01 00:00:01 至 2011-11-15 23:59:59 这个时间期间内的一个随机值。

第1个回答  2011-11-18
UPDATE a
set a.adddate='2011-11-'
+ CAST(CAST(CEILING(RAND() * 100) AS INT) % 14 + 1 AS VARCHAR(2))
+ ' ' + CAST(CAST(CEILING(RAND() * 100) AS INT) % 24 AS VARCHAR(2))
+ ':' + CAST(CAST(CEILING(RAND() * 100) AS INT) % 60 AS VARCHAR(2))
+ ':' + CAST(CAST(CEILING(RAND() * 100) AS INT) % 60 AS VARCHAR(2))
from _table a
inner join (select TOP 20 * from _table) b ON 本表主键关联本回答被提问者采纳
相似回答