MySQL中的RAND()函数使用

MySQL中的RAND()函数使用,第1张

rand() 随机生成 0 - 1的浮点数 , 常与其他函数结合使用 ,比如 ceiling,floor,LPAD 等

如果要指定指定范围的随机整数的话,需要用这个公式FLOOR(i + RAND() * j),比如 

# 生成 7 - 11的随机数  SELECT FLOOR(7 + (RAND() * 5))

floor 地板取小于该值的最大整数 ,比如 0

mysql>select floor(1.23),floor(-1.23)

   1           -2 

ceiling 则相反,向上取整,取大于该值的最小整数 ,比如

SELECT CEILING(1.23)# 2

SELECT CEIL(-1.23)# -1

lpad 是左填充, 用法如下 :

LPAD(RAND()*31 + 1,2,'0')) # 取01-31的随机整数 ,保留两位,如果是一位,左边填0

mysql的rand函数可以生成一个0到1之间的随机数,进行一定的放大即可得到一个随机数。再通过条件查询来限制新随机数没有在表中出现过。如下所示:

SELECT FLOOR(RAND() * 99999) AS random_numFROM numbers

WHERE "random_num" NOT IN (SELECT my_number FROM numbers)

LIMIT 1

在mysql中随机生成一些范围内的整数,可以借助mysql提供的二个函数来实现。

它们是floor()与rand()函数,下面分别介绍下。

1、floor(f)

返回一个不大于f的最大整数

2、rand(),rand(n)

返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。

若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。

例如, 在7到 12 的范围(包括7和12)内得到一个随机整数,使用语句:

SELECT FLOOR(7 + (RAND() * 6))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7380923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存