作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
UPDATE CattleProds
SET SheepTherapy=(ROUND((RAND()* 10000),0))
WHERE SheepTherapy IS NULL
如果我执行 SELECT,我会看到我的随机数是 identical in every row 。有什么想法如何生成唯一的随机数吗?
最佳答案
使用 newid()
代替 rand()
,它会针对结果中的每一行重新计算。通常的方法是使用校验和的模。请注意,checksum(newid())
可能会产生 -2,147,483,648 并导致 abs()
上的整数溢出,因此我们需要在将其转换为之前对校验和返回值使用模数绝对值。
UPDATE CattleProds
SET SheepTherapy = abs(checksum(NewId()) % 10000)
WHERE SheepTherapy IS NULL
这会生成一个 0 到 9999 之间的随机数。
关于sql-server - 如何在 SQL 中用随机数填充列?我在每一行中得到相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003028/
我是一名优秀的程序员,十分优秀!