• MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结


    个人主页兜里有颗棉花糖
    欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
    收录于专栏【MySQL学习专栏】🎈
    本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌
    在这里插入图片描述

    一、字符串函数

    关于字符串函数请看此文章:字符串函数

    二、数值函数

    下面来介绍5个数值函数,请看:

    函数作用
    CEIL(x)向上取整
    FLOOR(x)向下取整
    MOD(x,y)返回x/y的模
    RAND()返回0到1内的随机数
    ROUND(x,y)求参数x的四舍五入的值,并保留y位小数

    ceil(x):向上取整。
    举例:select ceil(1.1);
    演示结果:
    在这里插入图片描述

    MOD(x,y):返回x/y的模
    举例:select mod(9,2);
    演示结果:
    在这里插入图片描述

    rand():返回0到1内的随机数
    举例:select rand();
    演示结果如下:
    在这里插入图片描述

    round(x,y):求参数x的四舍五入的值,并保留y位小数。
    举例:round(8.354,3);
    演示结果如下:
    在这里插入图片描述

    小练习

    根据数据库语句生成一个6位数的随机验证码:

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

    *解释:rand()1000000会生成一个随机数,加上round后保证生成的数是一个整数(此时并不稳定,因为有时生成的数是一个五位数),所以需要加航lpad()函数来进行前补0或者后补0。

    三、日期函数

    下面是本文的日期函数,请看:

    函数功能
    CURDATE()返回当前的日期
    CURTIME()返回当前的时间
    NOW()返回当前的日期和时间
    YEAR(date)获取指定date的年份
    MONTH(date)获取指定date的月份
    DAY(date)获取指定date的日期
    DATE_ADD(date,INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
    DATEDIFF(date1,date2)返回起始时间date1和和结束时间之间的date2

    curdate():返回当前的日期
    举例:select curdate();
    演示结果: 在这里插入图片描述

    curtime():返回当前的时间
    举例:select curtime();
    演示结果如下:
    在这里插入图片描述

    now():返回当前的日期和时间。
    举例:select now();
    演示结果如下:
    在这里插入图片描述

    YEAR/MONTH/DAY(date):返回当前日期的月份
    举例:select month(now());
    在这里插入图片描述

    DATE_ADD(date,INTERVAL expr type):返回一个日期/时间值加上一个时间间隔expr后的时间值
    举例:select date_add(now(),interval 100 day);
    解释:计算当前日期后的100天是什么时间
    演示结果如下:
    在这里插入图片描述

    DATEDIFF(date1,date2):返回两个日期之间相差多少天
    举例:select datediff('2023-5-20','2023-1-20');
    演示结果如下:
    在这里插入图片描述

    小练习:查询所有人的入职天数,并根据入职天数进行倒序排序。
    语句如下:select name,datediff(curdate(),entrydate) as 'entrydays' from emp order by entrydats desc;

    四、流程函数

    函数功能
    IF(value,t,f)如果value为true则返回t,否则返回f
    IFNULL(value1,value2)如果value不为空则返回value1,否则返回value2
    CASE WHEN [val1] THEN [res1] …ELSE[default] END如果val1为true,则返回res1,…否则返回default默认值
    CASE [expr] WHEN [val1] THEN [res1] …ELSE[default] END如果expr的值等于val1,返回res1,…否则返回default值

    举例1:select ifnull(null,'default');
    样例演示:
    在这里插入图片描述

    举例2:select if(true,'ok','error');
    样例演示:
    在这里插入图片描述

    举例3:在这里插入图片描述
    这里有一个学员成绩表,我们以此来进行演示,要求:>=85显示优秀,>=60显示及格,否则显示不合格。

    select id,
           name,
           (case when math >= 85 then '优秀' when math >= 65 then '及格' else '不及格' end) '数学',
           (case when chinese >= 85 then '优秀' when math >= 65 then '及格' else '不及格' end) '语文',
           (case when english >= 85 then '优秀' when math >= 65 then '及格' else '不及格' end) '英语'
    from score;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    演示结果如下:
    在这里插入图片描述

    好了,以上就是本文的全部内容,主要对字符串、数值、日期、流程函数进行了总结。

    嗯,就到这里啦,再见啦友友们!!!

  • 相关阅读:
    详解Python的__new__()方法
    Word控件Spire.Doc 【段落处理】教程(三):在 C#、VB.NET 中管理词标题以形成目录
    pdf文档内容提取pdfplumber、PyPDF2
    MySQL单表数据量超1亿,根据 索引列 批量删除数据
    精华推荐 | 【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的存储系统的实现原理和持久化机制
    python 笔记:打开nii格式(nibabel 库)
    使用Unity和纯ECS框架重新打造简单RTS游戏:从零开始的详细C#编程教程
    MATLAB if...else...end 语句
    Nexus私服(三)
    TCR历史论文多久能发表?
  • 原文地址:https://blog.csdn.net/m0_74352571/article/details/132950878