咱今天讲的是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