咱今天讲的是MySQL函数中的数值函数,会有五小题和一个综合案例帮助大家理解
数值函数:
①ceil向上取整:
select ceil(1.1);注意后面的小数位无论是1还是9最后向上取整都是2;
②floor向下取整:
select floor(1.9); 注意后面的小数为无论是1还是9最后向下取整还是为1;
③mod取模:
select mod(7,4); //这是7除以4的余数
④rand取随机数:这随机数取的是0~1之间的
select rand();
⑤round四舍五入:
select round(2.345,2); //保留两位小数
案例:
通过数据库的函数,生成六位数的随机码;(题目有一点难度,大家思考一下)
当我们看到随机两个字就会想到rand函数,但是rand函数生成的都是0~1的小数,如何让他可以生成六位数呢,我们只要乘以1000000就可以啦:
select rand()*1000000;
但是还是有小数位该怎么办呢?这时候我们就可以用round函数把小数位设置为0就好啦
select round(rand()*1000000,0);
但是还是有bug,如果说我们随机到一个0.057541的数那么它乘以1000000就会得到57541的五位数不符合我们的要求,如何让它变成六位数呢?
我们会想到上节课教的字符串函数中的lpad函数(字符串左侧填充)和rpad函数(字符串右侧填充)
MYSQL一一函数一一字符串函数 |
https://blog.csdn.net/m0_74197121/article/details/135168836?spm=1001.2014.3001.5502 |
select lpad(round(rand()*1000000,0),6,'0'); //这里我们选择lpad