MySQL中的函数

系列文章目录

MySQL常见的几种约束



在这里插入图片描述

前言

MySQL中提供了大量函数来简化用户对数据库的操作,比如字符串的处理、日期的运算、数值的运算等等。使用函数可以大大提高SELECT语句操作数据库的能力,同时也给数据的转换和处理提供了方便。

函数只是对查询结果中的数据进行处理,不会改变数据库中数据表的值。MySQL中的函数主要分为单行函数和多行函数两大类,下面我们将详细讲解这两大类函数。


一、单行函数

单行函数是指对每一条记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。

常用的单行函数主要包括字符串函数、数值函数、日期与时间函数、流程函数以及其他函数。

1.字符串函数 (String StringBuilder)

函数描述
CONCAT(str1, str2, ···, strn)将str1、str2···strn拼接成一个新的字符串
INSERT(str, index, n, newstr)将字符串str从第index位置开始的n个字符替换成字符串newstr
LENGTH(str)获取字符串str的长度
LOWER(str)将字符串str中的每个字符转换为小写
UPPER(str)将字符串str中的每个字符转换为大写
LEFT(str, n)获取字符串str最左边的n个字符
RIGHT(str, n)获取字符串str最右边的n个字符
LPAD(str, n, pad)使用字符串pad在str的最左边进行填充,直到长度为n个字符为止
RPAD(str, n, pad)使用字符串pad在str的最右边进行填充,直到长度为n个字符为止
LTRIM(str)去除字符串str左侧的空格
RTRIM(str)去除字符串str右侧的空格
TRIM(str)去除字符串str左右两侧的空格
REPLACE(str,oldstr,newstr)用字符串newstr替换字符串str中所有的子字符串oldstr
REVERSE(str)将字符串str中的字符逆序
STRCMP(str1, str2)比较字符串str1和str2的大小
SUBSTRING(str,index,n)获取从字符串str的index位置开始的n个字符

2.数值函数 (Math)

函数描述
ABS(num)返回num的绝对值
CEIL(num)返回大于num的最小整数(向上取整)
FLOOR(num)返回小于num的最大整数(向下取整)
MOD(num1, num2)返回num1/num2的余数(取模)
PI()返回圆周率的值
POW(num,n)/POWER(num, n)返回num的n次方
RAND(num)返回0~1之间的随机数
ROUND(num, n)返回x四舍五入后的值,该值保留到小数点后n位
TRUNCATE(num, n)返回num被舍去至小数点后n位的值

3.日期与时间函数

函数描述
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
SYSDATE()返回该函数执行时的日期和时间
DAYOFYEAR(date)返回日期date为一年中的第几天
WEEK(date)/WEEKOFYEAR(date)返回日期date为一年中的第几周
DATE_FORMAT(date, format)返回按字符串format格式化后的日期date
DATE_ADD(date, INTERVAL expr unit) /ADDDATE(date, INTERVAL expr unit)返回date加上一个时间间隔后的新时间值
DATE_SUB(date, INTERVAL expr unit) /SUBDATE(date, INTERVAL expr unit)返回date减去一个时间间隔后的新时间值
DATEDIFF(date1, date2)返回起始日期date1与结束日期date2之间的间隔天数

4.流程函数( IF SWITCH)

间隔类型描述
IF(condition, t, f)如果条件condition为真,则返回t,否则返回f
IFNULL(value1, value2)如果value1不为null,则返回value1,否则返回value2
NULLIF(value1, value2)如果value1等于value2,则返回null,否则返回value1
CASE value WHEN [value1] THEN result1 [WHEN [value2] THEN result2 …] [ELSE result] END如果value等于value1,则返回result1,···,否则返回result
CASE WHEN [condition1] THEN result1 [WHEN [condition2] THEN result2 …] [ELSE result] END如果条件condition1为真,则返回result1,···,否则返回result

5.JSON函数

函数描述
JSON_APPEND()在JSON文档中追加数据
JSON_INSERT ()在JSON文档中插入数据
JSON_REPLACE ()替换JSON文档中的数据
JSON_REMOVE ()从JSON文档的指定位置移除数据
JSON_CONTAINS()判断JSON文档中是否包含某个数据
JSON_SEARCH()查找JSON文档中给定字符串的路径

6.其他函数

函数描述
DATABASE()返回当前数据库名
VERSION()返回当前MySQL的版本号
USER()返回当前登录的用户名
INET_ATON(IP)返回IP地址的数字表示
INET_NTOA返回数字代表的IP地址
PASSWORD(str)实现对字符串str的加密操作
FORMAT(num, n)实现对数字num的格式化操作,保留n位小数
CONVERT(data, type)实现将数据data转换成type类型的操作

二、多行函数

多行函数是指对一组数据进行运算,针对这一组数据(多行记录)只返回一个结果,也称为分组函数。
多行函数包含:

函数描述
COUNT()统计表中记录的数目
SUM()计算指定字段值的总和
AVG()计算指定字段值的平均值
MAX()统计指定字段值的最大值
MIN()统计指定字段值的最小值

总结

除了多行函数(max,min,count,sum,avg),都是单行函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pancras Wen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值