RAND関数 (乱数を生成する)

広告
eyecatch

RAND 関数を使うと 0 <= v < 1.0 の範囲内で、ランダムな浮動小数点値 v を生成します。ここでは RAND 関数の使い方について解説します。

RAND 関数の使い方

RAND 関数は 0 <= v < 1.0 の範囲内で、ランダムな浮動小数点値 v を生成するために使用します。書式は次の通りです。

RAND([N])

省略可能な引数 N を指定した場合シード値として使用されます。同じシード値を指定した場合、同じ順番で同じ乱数が生成されます。

なお生成される乱数は 0 <= v < 1.0 の範囲内でランダムな浮動小数点値 v です。これを i <= R < j の範囲内でランダムな整数 R を得るようにするには次のように記述してください。

FLOOR(i + RAND() * (j − i))

例えば 10 以上 20 未満の乱数を生成するには次のように記述します。

FLOOR(10 + RAND() * 10)

FLOOR 関数については「FLOOR関数 (指定した値以下の最小の整数を取得する)」を参照されてください。

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table randtest(num float);

MySQL/RAND 関数の使い方(1)

テーブルに次のようにデータを追加します。

insert into randtest values(rand());
insert into randtest values(rand());
insert into randtest values(rand());
insert into randtest values(rand());
insert into randtest values(rand());

MySQL/RAND 関数の使い方(2)

randtest テーブルからデータを取得します。

select * from randtest;

MySQL/RAND 関数の使い方(3)

0 以上 1 未満のランダムな値がテーブルに格納されていることが確認できました。

-- --

rand 関数の使い方について解説しました。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。