【MySQL】函数

MySQL提供丰富的函数,包括单行函数如字符串处理、数值计算和日期时间操作,以及多行函数如COUNT、SUM等。单行函数对每条记录操作,而多行函数对一组数据返回一个结果。这些函数极大地增强了数据库操作的灵活性和效率。
摘要由CSDN通过智能技术生成

一、概述

        MySQL中提供了大量函数来简化用户对数据库的操作,比如字符串的处理、日期的运算、数值的运算等等。使用函数可以大大提高SELECT语句操作数据库的能力,同时也给数据的转换和处理提供了方便。 (在sql中使用函数)函数只是对查询结果中的数据进行处理,不会改变数据库中数据表的值。MySQL中的函数主要分为单行函数和多行函数两大类,下面我们将详细讲解这两大类函数。 

1、单行函数 

        单行函数是指对每一条记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。 常用的单行函数主要包括字符串函数、数值函数、日期与时间函数、流程函数以及其他函数。 

2、多行函数 

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

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

二、单行函数

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()统计指定字段值的最小值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

今天自洽了吗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值