MySQL RAND() 函数使用指南
MySQL RAND()
函数返回一个 0 (包含) 和 1 (不包含) 之间的随机数。
RAND()
语法
这里是 MySQL RAND()
函数的语法:
RAND()
RAND(seed)
参数
seed
- 可选的。产生随机数的种子。如果提供了
seed
,RAND(seed)
函数将产生一个可重复的随机数序列。
返回值
MySQL RAND()
函数返回一个 0 (包含) 和 1 (不包含) 之间的随机数。
如果您提供了参数 seed
,MySQL RAND(seed)
函数将产生一个可重复的随机数序列。
RAND()
返回的是 0 和 1 之间的随机小数,如果你想返回其他区间(比如 m
和 n
)的随机数,请使用以下公式:
m
和n
之间的随机数:RAND() * (n - m) + m
m
和n
之间的随机整数:FLOOR(RAND() * (n - m + 1) + m)
RAND()
示例
返回 0 和 1 之间的随机数
SELECT
RAND(),
RAND(),
RAND(),
RAND()\G
*************************** 1. row ***************************
RAND(): 0.45966783674402895
RAND(): 0.011888444434747514
RAND(): 0.6804387426752958
RAND(): 0.3665284108058814
返回 10 和 20 之间的随机数
SELECT
RAND() * (20 - 10) + 10,
RAND() * (20 - 10) + 10,
RAND() * (20 - 10) + 10,
RAND() * (20 - 10) + 10\G
*************************** 1. row ***************************
RAND() * (20 - 10) + 10: 12.783272138594903
RAND() * (20 - 10) + 10: 17.496861179821995
RAND() * (20 - 10) + 10: 19.134489790661718
RAND() * (20 - 10) + 10: 13.181865721179047
返回 10 和 20 之间的随机整数
SELECT
FLOOR(RAND() * (20 - 10 + 1) + 10),
FLOOR(RAND() * (20 - 10 + 1) + 10),
FLOOR(RAND() * (20 - 10 + 1) + 10),
FLOOR(RAND() * (20 - 10 + 1) + 10)\G
*************************** 1. row ***************************
FLOOR(RAND() * (20 - 10) + 10): 20
FLOOR(RAND() * (20 - 10) + 10): 13
FLOOR(RAND() * (20 - 10) + 10): 15
FLOOR(RAND() * (20 - 10) + 10): 16