- カテゴリ:
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 |
----------------------+