需求:

  • 通过数据库的函数随机生成一个4位数的随机数。


涉及知识点:

  • ROUD()函数,返回0~1的随机小数
  • ROUND(x,y),求参数x的四舍五入值,保留y位小数
  • LPAD(str,n,pad),左填充,用字符串pad对str的左边进行填充,达到n个字符串长度

操作步骤:

1. 使用一个 rand() 函数得到一个0~1的浮点数

select rand();
  • 运行结果: 

 2. 为生成一个4位数的随机数(不含小数),现需将函数结果乘10000(如需生成n位数则乘10**n次方),在使用 round() 函数对结果取0位小数。

select round(rand() * 10000, 0);
  • 运行结果: 

 3. 当前结果会因为rand()生成中的随机小数第一位为0,而导致最后得出数只有三位。为此还需使用 lpad() 函数来补0,使其达到4位数。

  • 如下所示,只生成三位数。

  •  使用 lpad() 函数后:


 代码:

select lpad(round(rand( ) * 10000, 0), 4, '0');

更多推荐

MySQL-生成随机数