rand()
rand()関数は、0以上、指定した上限値未満のランダムな整数を返します。
構文
rand(BOUND[, SEED])
パラメーター
BOUND- 戻り値の上限を指定する正の整数です。0より大きい値を指定する必要があります。
rand()関数は0以上BOUND未満の整数を返します。 SEED- 乱数生成器のシード値です。指定すると、同じシードから常に同じ順序の値を生成します。クエリの動作を検証したい場合や再現可能な結果が必要な場合に使用します。
説明
rand()関数は、JavaのRandomクラスを使用して0以上BOUND未満のランダムな整数を返します。
BOUNDは必ず正の整数である必要があります。浮動小数点数や負の数を指定するとクエリのパース時にエラーが発生します。SEEDは整数である必要があり、浮動小数点数を指定するとパース時にエラーが発生します。
BOUNDを動的な式で指定した場合、実行中にその値が整数でないか負の数であるとnullを返します。
Caution
`SEED`を指定すると常に同じ順序の値を返します。セキュリティ目的の乱数生成には使用しないでください。
エラーコード
| エラーコード | 説明 |
|---|---|
| 90750 | 無効なBOUND値を指定した場合 |
| 90751 | BOUNDに0以下の値を指定した場合 |
| 90752 | SEEDに浮動小数点数を指定した場合 |
使用例
-
0〜999の範囲のランダムな整数を生成
json "{}" | eval r = rand(1000) | # r: (0以上1000未満のランダムな整数) -
シードを指定して再現可能な値を生成
json "{}" | eval r = rand(1000, 42) | # r: (0以上1000未満のランダムな整数) -
BOUNDを動的な式で指定した場合json "{'n': 100}" | eval r = rand(n) | # r: (0以上100未満のランダムな整数)
互換性
rand()関数は、Sonar 4.0以前のバージョンから提供されています。