RAND

RAND 関数は、0 以上で 1 以下の浮動小数点値を戻します。

構文図を読む構文図をスキップする
>>-RAND--(--+------------+--)----------------------------------><
            '-expression-'      

expression
式が指定されている場合、その式がシード値として使用されます。 引数は、組み込み短整数、長精度整数、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式でなければなりません。 ストリング引数は、関数を評価する前に整数にキャストされます。 ストリングを整数に変換する方法については、INTEGER または INTを参照してください。

結果のデータ・タイプは、倍精度の浮動小数点数になります。 引数が NULL になる可能性がある場合は、結果も NULL になる可能性があります。 引数が NULL の場合は、結果は NULL 値になります。

特定のシード値は、照会が実行されるごとに、その照会の RAND 関数の特定のインスタンスに関して、乱数の同じシーケンスを生成します。 シード値が指定されない場合、照会が実行されるごとに乱数の異なるシーケンスが生成されます。

シード値が使用されるのは、ステートメントで RAND 関数のインスタンスが最初に呼び出される場合だけです。

RAND は非決定性関数です。

  • ホスト変数 HRAND は、値が 100 の整数であると想定します。 次のステートメントは、
      SELECT RAND(:HRAND)
        FROM SYSIBM.SYSDUMMY1
    0 と 1 の間の乱数の浮動小数点数 (概略値 .0121398 など) を戻します。
  • 0 から 1 以外の数値間隔の値を生成するには、RAND 関数に必要な間隔の大き さを乗算します。例えば、0 と 10 の間の乱数 (概略値 5.8731398 など) を入手するときは、関数に 10 を乗算します。
      SELECT RAND(:HRAND) * 10
        FROM SYSIBM.SYSDUMMY1