请教rand()函数的问题
1. rand()函数生成的随机数是不是在大于0小于等于1的范围内?2. 随机种子有什么用?对生成的随机数有什么效果?任何数字都可以做随机种子吗?
谢谢! 麻烦哪位说一下啊!
:( 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) 赞:victory: 谢谢!
Very Good ! 若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。
eg:
select floor(0+rand()*1001));
可以在0-1000之间出一个随机值 :)
页:
[1]