【MySQL】——数值函数的学习

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

个人主页: Aileen_0v0
热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
个人格言:“没有罗马,那就自己创造罗马~”

around the clock夜以继日

文章目录

  • `函数`
    • `常见的数值函数`
    • `向上取整函数`
    • `向下取整函数`
    • `求模函数`
    • `生成0-1的随机数函数`
    • `生成四舍五入值的函数`
    • `Exercises`

函数

常见的数值函数

函数 功能
ceil(x) 向上取整
floor(x) 向下取整
mod(x,y) 返回x/y的模
rand() 返回0~1内的随机数
round(x,y) 求参数x的四舍五入的值,保留y位小数

向上取整函数

-- ceil
select ceil (1.1);

【MySQL】——数值函数的学习_第1张图片


向下取整函数

-- floor
select  floor(1.9);

【MySQL】——数值函数的学习_第2张图片


求模函数

-- mod
select  mod(6,4);

【MySQL】——数值函数的学习_第3张图片

求模运算就是看余数是几

生成0-1的随机数函数

-- rand
select rand();

【MySQL】——数值函数的学习_第4张图片


生成四舍五入值的函数

-- round
select  round(2.344,2);

【MySQL】——数值函数的学习_第5张图片

Exercises

  • 通过数据库的西数,生成一个六位数的随机验证码
select round(rand() * 1000000,0);

⚠️注意:在正常情况下我们可以生成六位数,但是它有一个bug,因为rand生成的是小数,如果小数为是0.006616这种×1000000以后再取整数位就会变成四位数而不是我们要的六位数。
【MySQL】——数值函数的学习_第6张图片

  • 解决方案:利用之前学的字符串填充函数,保证他是一个六位数。

修改以后的代码:

select lpad(round(rand() * 1000000,0) , 6 , '0');

【MySQL】——数值函数的学习_第7张图片

做题总结
根据题目要求先用rand函数生成随机数
根据要求通过乘法运算将小数变成整数然后利用round函数保留0位小数从而将小数部分去掉
通过字符串函数保留六位数并在空位补0.
函数之间可以嵌套使用

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

你可能感兴趣的:(MySQL自学篇,mysql,学习,数据库)