翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
RANDOM 関数
RANDOM 関数は、0.0 (この値を含む) ~1.0 (この値は含まない) のランダム値を生成します。
構文
RANDOM()
戻り型
RANDOM は DOUBLE PRECISION 型の数値を返します。
例
-
0~99 のランダム値を計算します。ランダムな数値が 0~1 である場合、このクエリは、0~100 のランダムな数値を生成します。
select cast (random() * 100 as int); INTEGER ------ 24 (1 row)
-
10 個のアイテムの均一なランダムサンプルを取得します。
select * from sales order by random() limit 10;
10 個のアイテムのランダムサンプルを取得しますが、料金に比例してアイテムを選択します。例えば、別の料金の 2 倍のアイテムは、クエリ結果に表示される可能性が 2 倍になります。
select * from sales order by log(1 - random()) / pricepaid limit 10;
-
次の例では、SET コマンドを使用して SEED 値を設定します。これにより RANDOM が予測可能な順序で数値を生成します。
まず、SEED 値を最初に設定せずに、3 つの整数の乱数を返します。
select cast (random() * 100 as int); INTEGER ------ 6 (1 row) select cast (random() * 100 as int); INTEGER ------ 68 (1 row) select cast (random() * 100 as int); INTEGER ------ 56 (1 row)
次に、SEED 値を
.25
に設定して、さらに 3 つの整数の乱数を返します。set seed to .25; select cast (random() * 100 as int); INTEGER ------ 21 (1 row) select cast (random() * 100 as int); INTEGER ------ 79 (1 row) select cast (random() * 100 as int); INTEGER ------ 12 (1 row)
最後に、SEED 値を
.25
にリセットして、RANDOM が前の 3 つの呼び出しと同じ結果を返すことを確認します。set seed to .25; select cast (random() * 100 as int); INTEGER ------ 21 (1 row) select cast (random() * 100 as int); INTEGER ------ 79 (1 row) select cast (random() * 100 as int); INTEGER ------ 12 (1 row)