gpt4 book ai didi

random - SQL Server- RAND() - 范围

转载 作者:行者123 更新时间:2023-12-01 09:57:52 28 4
gpt4 key购买 nike

我想创建 1 到 99,999,999 之间的随机数。

我正在使用以下代码:

SELECT CAST(RAND() * 100000000 AS INT) AS [RandomNumber]

然而,我的结果总是介于 7 和 8 之间,这意味着我从未见过低于 1,000,000 的值。

有没有办法在定义的范围之间生成随机数?

最佳答案

RAND Returns a pseudo-random float value from 0 through 1, exclusive.



所以 RAND() * 100000000正是您所需要的。然而,假设 1 到 99,999,999 之间的每个数字的概率都相等,那么 99% 的数字很可能介于 7 和 8 之间,因为这些数字更常见。
+--------+-------------------+----------+------------+
| Length | Range | Count | Percent |
+--------+-------------------+----------+------------+
| 1 | 1-9 | 9 | 0.000009 |
| 2 | 10-99 | 90 | 0.000090 |
| 3 | 100-999 | 900 | 0.000900 |
| 4 | 1000-9999 | 9000 | 0.009000 |
| 5 | 10000-99999 | 90000 | 0.090000 |
| 6 | 100000-999999 | 900000 | 0.900000 |
| 7 | 1000000-9999999 | 9000000 | 9.000000 |
| 8 | 10000000-99999999 | 90000000 | 90.000001 |
+--------+-------------------+----------+------------+

关于random - SQL Server- RAND() - 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798678/

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