标签: sql sql-server sql-server-2008
我有一个名为Orders的表和该表中名为OrderID的列。最初,OrderID的值是手动给出的,但现在我必须将这些值更改为100到999之间的数字随机。
Orders
OrderID
我有近600行...当我尝试以下代码时,它为所有订单分配了一个随机数。请帮助我,并解释一下解决这个问题的简单方法。
UPDATE Orders SET OrderID= RAND()*(999-100)
答案 0 :(得分:0)
试试这样:
UPDATE Orders SET OrderID = ABS(Checksum(NewID()) % 900) + 100
<强> SQL FIDDLE DEMO 强>