MySQL RAND() 函数被调用时,可以产生一个在 0 和 1 之间的随机数。
mysql> SELECT RAND(), RAND(), RAND(); +------------------+-----------------+------------------+ | RAND() | RAND() | RAND() | +------------------+-----------------+------------------+ | 0.45464584925645 | 0.1824410643265 | 0.54826780459682 | +------------------+-----------------+------------------+ 1 row in set (0.00 sec)
由运行结果可知,每次调用 RAND() 函数,都会随机生成一个 0~1 之间的随机数 。
当使用整数作为参数调用时,RAND() 使用该值作为随机数的种子发生器。每次种子使用给定值生成,RAND() 将产生一个可重复的系列数字:
mysql> SELECT RAND(1),RAND(),RAND(1); +---------------------+--------------------+---------------------+ | RAND(1) | RAND() | RAND(1) | +---------------------+--------------------+---------------------+ | 0.40540353712197724 | 0.7901452330780637 | 0.40540353712197724 | +---------------------+--------------------+---------------------+ 1 row in set (0.00 sec)
由运行结果可知,当向 RAND() 函数中传入一个整数作为参数是,RAND() 函数产生的随机数可以重复。