システム開発ブログ

MySQL

【MySQL】乱数を発生させる方法

先日、テストを行っていて最大値制限のある数字の乱数データを作成することがありました。
数件であれば手打ちで行っていたのですが何万件というデータが必要だったのでこの関数が便利でした。

SELECT FLOOR(RAND() * 【設定値】);

注意すべきは【設定値】です。
設定値に10と入れると0~9の乱数が発生します。つまり最大値が設定値-1となります。



最小値が1からの乱数を発生したいときはRAND() の前に 1 + を追加します。
SELECT FLOOR(1 + RAND() * 【設定値-1】);

使用例

SQL


SELECT FLOOR(RAND() * 10) AS '乱数1'
, FLOOR(RAND() * 10) AS '乱数2'
, FLOOR(RAND() * 10) AS '乱数3'
, FLOOR(1 + RAND() * 10) AS '乱数4'
, FLOOR(1 + RAND() * 10) AS '乱数5'
, FLOOR(1 + RAND() * 10) AS '乱数6';

結果

Snap1.jpg



ちなみに・・・


今回は使用しませんでしたが、文字列や日付のランダム数値データも作成できるようです。

文字列(10桁文字列)

SELECT SUBSTRING(MD5(RAND()), 1, 10);

日付(2016年3月1日から31日の範囲)

SELECT DATE_ADD('2016-03-01', INTERVAL 31 * RAND() DAY);

システム周りのお悩みを解決します

まずは無料ダウンロード

この記事に関連する記事の一覧


システム開発ブログ

Twitterでilovex_officialをフォローしてください

カテゴリー

以前の部署別ブログ

ページのトップ