MySQL関数リファレンス

乱数を生成する (RAND)

スポンサードリンク
書式
RAND( )
RAND( 数値 )

RAND関数を使用することで 0.0 ~ 1.0 の乱数を生成することができます。
引数に数値(シード値)を指定した場合、シード値をもとに数値が生成されます。
引数の数値(シード値)が同じ場合、結果として返される数値は同じとなります。

例1(シード値を指定しない場合)
mysql> -- シード値を指定しない場合は毎回異なる値を返す
mysql> SELECT RAND( );
+------------------+
| RAND( )          |
+------------------+
| 0.94277458725756 |
+------------------+
1 row in set (0.00 sec)

mysql> SELECT RAND( ), RAND( ), RAND( );
+-----------------+------------------+------------------+
| RAND( )         | RAND( )          | RAND( )          |
+-----------------+------------------+------------------+
| 0.7946467947165 | 0.14491024254347 | 0.34061085930151 |
+-----------------+------------------+------------------+
1 row in set (0.00 sec)
例2(シード値を指定した場合)
mysql> -- シード値が同じであれば同じ数値を返す
mysql> SELECT RAND( 59 );
+------------------+
| RAND( 59 )       |
+------------------+
| 0.91602387271451 |
+------------------+
1 row in set (0.00 sec)

mysql> SELECT RAND( 59 ), RAND( -65534 ), RAND( -65534 );
+------------------+------------------+------------------+
| RAND( 59 )       | RAND( -65534 )   | RAND( -65534 )   |
+------------------+------------------+------------------+
| 0.91602387271451 | 0.65534250592379 | 0.65534250592379 |
+------------------+------------------+------------------+
1 row in set (0.00 sec)

シード値に文字を指定した場合、数値の0を指定した場合と同じ結果が返されます。

例3(引数に文字を指定した場合)
mysql> SELECT RAND( 0 ), RAND( 'a' ), RAND( '漢字' );
+------------------+------------------+------------------+
| RAND( 0 )        | RAND( 'a' )      | RAND( '漢字' )   |
+------------------+------------------+------------------+
| 0.15522042769494 | 0.15522042769494 | 0.15522042769494 |
+------------------+------------------+------------------+
1 row in set (0.00 sec)
スポンサードリンク
Rではじまる MySQL の関数 / 数値を扱う関数

数値を扱う関数

絶対値を求める (ABS)
剰余を求める (MOD)
小数点以下を切り下げる (FLOOR)
小数点以下を切り上げる (CEILING)
小数点以下を切り上げる (CEIL)
小数点以下を四捨五入する (ROUND)
対数を求める (LOG)
2を底とした対数を求める (LOG2)
10を底とした対数を求める (LOG10)
累乗(べき乗)を求める (POW)
累乗(べき乗)を求める (POWER)
符号を調べる (SIGN)
平方根を求める (SQRT)
円周率を求める (PI)
乱数を生成する (RAND)
最小値を調べる (LEAST)
最大値を調べる (GREATEST)
ラジアンを度に変換する (DEGREES)
度をラジアンに変換する (RADIANS)
小数点第N位で切り捨てる (TRUNCATE)
数値を整形する (FORMAT)
スポンサードリンク

Rではじまる MySQL の関数

RADIANS 度をラジアンに変換する
RAND 乱数を生成する
REPEAT 任意の文字列を任意の数だけ生成する
REVERSE 文字列を反転させる
RIGHT 文字列の右側から文字列を取り出す
ROUND 小数点以下を四捨五入する
RPAD 特定の文字を右端に追加して文字列の長さを整える
RTRIM 文字列の右側から半角スペースを削除する