- 类别:
UNIFORM¶
生成一个位于 [min
, max
] 范围(含两者)内的均匀分布的伪随机数。
语法¶
UNIFORM( <min> , <max> , <gen> )
实参¶
min
一个常量,指定生成的数字的最小值(含)。
max
一个常量,指定生成的数字的最大值(含)。
gen
用作统一随机数(通常为
RANDOM
函数)的原始源的表达式。有关更多信息,请参阅数据生成函数 使用说明。
返回¶
如果 min
或/和 max
是浮点数,则 UNIFORM
返回浮点数。如果 min
和 max
都是整数,则 UNIFORM
返回一个整型。
使用说明¶
此函数与 RANDOM 函数相关,但却与其不同。这两个函数都生成均匀分布的数,但返回值的范围存在差异。
RANDOM
生成伪随机 64 位整数。它接受允许重复序列的可选种子。UNIFORM
生成指定范围内的随机整数或浮点数。
示例¶
SELECT uniform(1, 10, random()) FROM table(generator(rowCount => 5));
--------------------------+
uniform(1, 10, random()) |
--------------------------+
6 |
4 |
7 |
9 |
4 |
--------------------------+
SELECT uniform(0::float, 1::float, random()) FROM table(generator(rowCount => 5));
---------------------------------------+
uniform(0::float, 1::float, random()) |
---------------------------------------+
0.2895427479 |
0.7178660941 |
0.6925603163 |
0.05914526824 |
0.8243151404 |
---------------------------------------+
SELECT uniform(1, 10, 1234) FROM table(generator(rowCount => 5));
----------------------+
uniform(1, 10, 1234) |
----------------------+
7 |
7 |
7 |
7 |
7 |
----------------------+