当前位置:网站首页 > 技术博客 > 正文

mysql函数大全以及举例



函数,是指一段可以直接被另一段程序调用的程序或代码。

MySQL中内置了许多函数,我们只需在合适的场景下调用它们即可,调用函数查询结果直接使用即可,并且可以嵌套使用:

 
  • functions:函数
  • parameters:参数

为了避免多张截图堆叠的问题,我们在直接演示环节使用代码块并使用注释来展示函数结果。


常用字符串函数:

函数功能 CONCAT(S1, S2, …Sn)字符串拼接,将S1,S2,… Sn拼接成一个字符串 LOWER(str)将字符串 str 全部转为小写 UPPER(str)将字符串 str 全部转为大写 LPAD(str, len, pad)左填充,用字符串 pad 对 str 的左边进行填充,达到 len 个字符串长度 RPAD(str, len, pad)右填充,用字符串 pad 对 str 的右边进行填充,达到 len 个字符串长度 TRIM(str)去掉字符串头部和尾部的空格 SUBSTRING(str, start, len)返回字符串 str 从 start 位置起的 len 个长度的字符串,第一个字符的位置是1
  • 对于字符串函数,MySQL能够自动处理非字符串类型的参数,并将它们转换为字符串后再进行指定操作

直接演示

 

场景演示

对于下表,修改id数据列的格式:3位数,不够的左边填充0:

在这里插入图片描述

在这里插入图片描述


常用数值函数:

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

直接演示

 

场景演示

查询所有人的成绩,要求查询结果中成绩没有小数位,四舍五入:

在这里插入图片描述


常用日期函数:

函数功能 CURDATE()返回当前日期 YYYY-MM-DD CURTIME()返回当前时间 HH:MM:SS NOW()返回当前日期和时间 YYYY-MM-DD HH:MM:SS YEAR(date)获取指定 date 的年份 MONTH(date)获取指定 date 的月份 DAY(date)获取指定 date 的日期 DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔 expr 后的时间值 DATEDIFF(date1, date2)返回起始时间 date1 和结束时间 date2 之间间隔的天数
  • 参数含义如下
    1. date这是你想要添加时间间隔的原始日期。 它可以是一个日期或日期时间表达式,比如一个 、 或 类型的列,或者是一个日期字符串(在能够被MySQL解析为有效日期的情况下)。
    2. INTERVAL:这是一个关键字,用于指示接下来的参数是一个时间间隔。 它告诉MySQL你想要对前面的日期进行加法操作,并且接下来的参数将定义这个加法操作的具体内容。
    3. expr这是你想要添加到原始日期上的时间间隔的数量。 它应该是一个整数或整数表达式。例如,如果你想要添加3天,那么 就是 。
    4. type这是时间间隔的单位。 它告诉MySQL你想要以什么单位来添加时间间隔。 可以是多种不同的值,比如 、、、、、 等。这个参数决定了 的具体含义。例如,如果 是 ,那么 就是天数;如果 是 ,那么 就是月数。

直接演示

 

场景演示

比如有张学生信息表,其中有个入学时间的字段,我们想查询学生的入学了多长时间,并按照时间降序排序,就会写出类似如下语句:

 

常用流程函数:

函数功能 IF(value, t, f)如果 value 为 true,返回 t,否则返回 f IFNULL(value1, value2)如果 value 不为空,返回 value1,否则返回 value2 CASE WHEN [val1] THEN [ret1]… ELSE [default] END如果 val1 为 true,返回 ret1,… 否则返回 default CASE [expr] WHEN [val1] THEN [ret1]… ELSE [default] END如果 expr 的值等于 val1,返回 ret1,… 否则返回 default
  • 在SQL的语句中,条件是从上到下依次评估的,一旦找到满足条件的分支,就会执行该分支的语句并结束表达式的评估。

直接演示

 

场景演示

查询学生成绩,要求:1. >= 90 显示优秀 2. >= 60 显示及格 3. 否则,显示不及格,如下:
在这里插入图片描述


版权声明


相关文章:

  • ddos压力测试网页端2024-12-17 11:30:02
  • springboot整合aop2024-12-17 11:30:02
  • idea如何单元测试2024-12-17 11:30:02
  • zd03 3(2)2024-12-17 11:30:02
  • c++文本文件输入输出2024-12-17 11:30:02
  • sp.socrcv指令说明2024-12-17 11:30:02
  • springboot h2数据库2024-12-17 11:30:02
  • 备忘录功能介绍2024-12-17 11:30:02
  • 面向对象系统分析与设计2024-12-17 11:30:02
  • 光线和三角形求交2024-12-17 11:30:02