mysql中的rand函数

来源:互联网 发布:双色球开奖历史数据库 编辑:程序博客网 时间:2024/05/17 01:42

在mysql中,rand函数用于产生0(包含)到1(不包含)的随机数,

rand有两种形式:

1、rand(),即无参数的,此时产生的随机数是随机的,不可重复的;

2、rand(n),即有参数数,如rand(2),相当于指定随机数生产的种子,那么这种情况产生的随机数是可重复的。


对于第一种情况,大家好理解,针对第二种情况,下面给出个例子:

1、建表

create table school.t(i int);
2、插入数据

insert into t(i) values (1),(2),(3);
3、第一次查询

select i, rand(2) from t;
结果:

1 0.6555866465490187
2 0.12234661925802624
3 0.64497318737672

4、第二次查询

select i, rand(2) from t;
结果:

1 0.6555866465490187
2 0.12234661925802624
3 0.64497318737672

分析两次同样的查询语句,可以发现,产生的随机数是一样的,即是指定了随机数的种子,那么多次查询的结果是一样的。