需求:
-
通过数据库的函数随机生成一个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');