- Home ›
- MySQLの使い方 ›
- MySQL関数の使い方
RAND関数(乱数を生成する)
MySQL で RAND 関数を使用すると 0 以上 1.0 未満 の範囲内でランダムな浮動小数点値を生成することができます。ここでは MySQL における RAND 関数の使い方について解説します。
(Last modified: )
目次
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);
テーブルに次のようにデータを追加します。
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());
randtest テーブルからデータを取得します。
select * from randtest;
0 以上 1 未満のランダムな値がテーブルに格納されていることが確認できました。
-- --
rand 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。