如何为一列中的多行生成随机数?

时间:2019-07-12 21:54:53

标签: sql sql-server

我需要为一列中的多行生成随机值。随机值的范围必须在0.005和0.015(含)之间。

我尝试使用abs(checksum(newID()),但不确定如何使用该范围来指定范围。

2 个答案:

答案 0 :(得分:2)

您可以使用RAND()函数给出这样的范围。

请执行SQL,您会看到。出现的数字将在范围内。

SQL:

SELECT RAND()*(0.015-0.005)+0.005 as randomNumber

此处:0.015和0.005是范围号。

SQL输出

|----|-------|----------------------|
|id  |empCode| randomNumber         |
|----|------------------------------|
|1   | 0001  | 0.01245219297469798  |
|----|-------|----------------------|
|2   | 0002  | 0.010188965811570142 |
|----|-------|----------------------|

希望您的问题得到解决。

答案 1 :(得分:1)

您可以使用rand()和算术:

select rand(checksum(newID())) * 0.01 + 0.005