gpt4 book ai didi

sql-server - 如何在 SQL 中用随机数填充列?我在每一行中得到相同的值

转载 作者:行者123 更新时间:2023-12-01 17:21:18 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com