MariaDB社区
标题:
请教rand()函数的问题
[打印本页]
作者:
mysqlkumao
时间:
2008-2-8 13:50
标题:
请教rand()函数的问题
1. rand()函数生成的随机数是不是在大于0小于等于1的范围内?
2. 随机种子有什么用?对生成的随机数有什么效果?任何数字都可以做随机种子吗?
谢谢!
作者:
mysqlkumao
时间:
2008-2-11 15:54
麻烦哪位说一下啊!
作者:
edwin_chen
时间:
2008-2-13 10:42
rand()函数返回一个随机的浮点数 x,x大于等于0,小于等于1。
rand(N)用于产生重复序列,N必须是整数(当然如果你输入浮点数,会自动被转换成整数而不会报错)。
例如:
mysql> SELECT RAND(1);
+------------------+
| RAND(1) |
+------------------+
| 0.40540353712198 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(1);
+------------------+
| RAND(1) |
+------------------+
| 0.40540353712198 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(1.1);
+------------------+
| RAND(1.1) |
+------------------+
| 0.40540353712198 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(2);
+------------------+
| RAND(2) |
+------------------+
| 0.65558664654902 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(2);
+------------------+
| RAND(2) |
+------------------+
| 0.65558664654902 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(2.1);
+------------------+
| RAND(2.1) |
+------------------+
| 0.65558664654902 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT RAND(2.2);
+------------------+
| RAND(2.2) |
+------------------+
| 0.65558664654902 |
+------------------+
1 row in set (0.00 sec)
作者:
kider
时间:
2008-2-13 11:16
赞
作者:
mysqlkumao
时间:
2008-2-13 17:50
谢谢!
Very Good !
作者:
boxman
时间:
2008-2-15 10:37
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。
eg:
select floor(0+rand()*1001));
可以在0-1000之间出一个随机值
作者:
mysqlkumao
时间:
2008-2-22 09:14
欢迎光临 MariaDB社区 (http://123.56.88.72/)
Powered by Discuz! X3.2