在MySQL使用中,面对不同的场景会使用到各种函数,众多函数一次性记完比较困难,以下从:MySQL 函数 | 菜鸟教程 (runoob.com)整理并归纳了大多数函数的功能和使用方法,方便需要的时候查阅。
字符串函数大致可分为字符串位置处理和字符串修改处理两大类
1.CONCAT(s1,s2...sn)
描述:字符串 s1,s2 等多个字符串合并为一个字符串
实例:合并多个字符串
SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Facebook");
输出:SQL Runoob Gooogle Facebook
2.CONCAT_WS(x, s1,s2...sn)
描述:同 CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上 x,x 可以是分隔符
实例:合并多个字符串,并添加分隔符:
SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!");
输出:SQL-Tutorial-is-fun!
3.INSERT(s1,x,len,s2)
描述:字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
实例:从字符串第一个位置开始的 6 个字符替换为 runoob:
SELECT INSERT("google.com", 1, 6, "runoob");
输出:runoob.com
4.REPLACE(s,s1,s2)
描述:将字符串 s2 替代字符串 s 中的字符串 s1
实例:将字符串 abc 中的字符 a 替换为字符 x:
SELECT REPLACE('abc','a','x');
输出:xbc
5.LPAD(s1,len,s2)
描述:在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len
实例:将字符串 xx 填充到 abc 字符串的开始处:
SELECT LPAD('abc',5,'xx');
输出:xxabc
6.MID(s,start,lenth) / SUBSTR(s, start, length) / SUBSTRING(s, start, length)
描述:从字符串 s 的 start 位置截取长度为 lenth 的子字符串
实例:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:
SELECT MID("RUNOOB", 2, 3); / SELECT SUBSTR("RUNOOB", 2, 3); / SELECT SUBSTRING("RUNOOB", 2, 3);
输出:UNO
7.RIGHT(s,n)
描述:返回字符串 s 的后 n 个字符
实例:返回字符串 runoob 的后两个字符:
SELECT RIGHT('runoob',2);
输出:ob
8.REPEAT(s,n)
描述:将字符串 s 重复 n 次
实例:将字符串 runoob 重复三次:
SELECT REPEAT('runoob',3);
输出:runoobrunoobrunoob
9.FORMAT(x,n)
描述:函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入。
实例:格式化数字 "#,###.##" 形式:
SELECT FORMAT(250500.5634, 2);
输出:250,500.56
10.RPAD(s1,len,s2)
描述:在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len
实例:将字符串 xx 填充到 abc 字符串的结尾处:
SELECT RPAD('abc',5,'xx');
输出:abcxx
11.REVERSE(s)
描述:将字符串s的顺序反过来
实例:将字符串 abc 的顺序反过来:
SELECT REVERSE('abc');
输出:cba
12.LCASE(s) / LOWER(s)
描述:将字符串 s 的所有字母变成小写字母
实例:字符串 RUNOOB 转换为小写:
SELECT LCASE('RUNOOB'); / SELECT LOWER('RUNOOB');
输出:runoob
13.UCASE(s) / UPPER(s)
描述:将字符串转换为大写
实例:将字符串 runoob 转换为大写:
SELECT UCASE("runoob"); / SELECT UPPER("runoob");
输出:RUNOOB
14.LTRIM(s)
描述:去掉字符串 s 开始处的空格
实例:去掉字符串 RUNOOB开始处的空格:
SELECT LTRIM(" RUNOOB") ;
输出:RUNOOB
15.RTRIM(s)
描述:去掉字符串 s 结尾处的空格
实例:去掉字符串 RUNOOB 的末尾空格:
SELECT RTRIM("RUNOOB ");
输出:RUNOOB
16.TRIM(s)
描述:去掉字符串 s 开始和结尾处的空格
实例:去掉字符串 RUNOOB 的首尾空格:
SELECT TRIM(' RUNOOB ');
输出:RUNOOB
17.SPACE(n)
描述:返回 n 个空格
实例:返回 5 个空格:
SELECT SPACE(5);
18.STRCMP(s1,s2)
描述:比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1
SELECT STRCMP("runoob", "runoob");
输出:0
19.CHAR_LENGTH(s) / CHARACTER_LENGTH(s)
描述:返回字符串 s 的字符数
实例:返回字符串 RUNOOB 的字符数
SELECT CHAR_LENGTH("RUNOOB"); / SELECT CHARACTER_LENGTH("RUNOOB");
输出:6
20.FIELD(s,s1,s2...)
描述:返回第一个字符串 s 在字符串列表(s1,s2...)中的位置
实例:返回字符串 c 在列表值中的位置:
SELECT FIELD("c", "a", "b", "c", "d", "e");
输出:3
21.LOCATE(s1,s) / POSITION(s1 IN s)
描述:从字符串 s 中获取 s1 的开始位置
实例:返回 st 在字符串 myteststring 中的位置:
SELECT LOCATE('st','myteststring'); / SELECT POSITION('st' in 'myteststring');
输出:5
22.FIND_IN_SET(s1,s2)
描述:返回在字符串s2中与s1匹配的字符串的位置
实例:返回字符串 c 在指定字符串中的位置:
SELECT FIND_IN_SET("c", "a,b,c,d,e");
输出:3
23.LEFT(s,n)
描述:返回字符串 s 的前 n 个字符
实例:返回字符串 runoob 中的前两个字符:
SELECT LEFT('runoob',2);
输出:ru
24.ASCII(s)
描述:返回字符串 s 的第一个字符的 ASCII 码。
实例:返回 CustomerName 字段第一个字母的 ASCII 码:
SELECT ASCII("A");
输出:65
数字函数可分为四则运算、极值、格式化、其他运算四类
1.COUNT(expression)
描述:返回查询的记录总数,expression 参数是一个字段或者 * 号
实例:返回 Products 表中 products 字段总共有多少条记录:
SELECT COUNT(ProductID) FROM Products;
2.SUM(expression)
描述:返回指定字段的总和
实例:计算 OrderDetails 表中字段 Quantity 的总和:
SELECT SUM(Quantity) FROM OrderDetails;
3.AVG(expression)
描述:返回一个表达式的平均值,expression 是一个字段
实例:返回 Products 表中Price 字段的平均值:
SELECT AVG(Price) FROM Products;
4.n DIV m
描述:整除,n 为被除数,m 为除数
实例:计算 10 除于 5:
SELECT 10 DIV 5;
输出:2
5.MOD(x,y)
描述:返回 x 除以 y 以后的余数
实例:5 除于 2 的余数:
SELECT MOD(5,2);
输出:1
6.GREATEST(expr1, expr2, expr3, ...)
描述:返回列表中的最大值
实例1:返回以下数字列表中的最大值:
SELECT GREATEST(3, 12, 34, 8, 25);
输出:34
实例2:返回以下字符串列表中的最大值:
SELECT GREATEST("Google", "Runoob", "Apple");
输出:Runoob
7.MAX(expression)
描述:返回字段 expression 中的最大值
实例:返回数据表 Products 中字段 Price 的最大值:
SELECT MAX(Price) FROM Products;
8.LEAST(expr1, expr2, expr3, ...)
描述:返回列表中的最小值
实例1:返回以下数字列表中的最小值:
SELECT GREATEST(3, 12, 34, 8, 25);
输出:3
实例2:返回以下字符串列表中的最小值:
SELECT LEAST("Google", "Runoob", "Apple");
输出:Apple
9.MIN(expression)
描述:返回字段 expression 中的最小值
实例:返回数据表 Products 中字段 Price 的最小值:
SELECT MIN(Price) FROM Products;
10.ROUND(x [,y])
描述:返回离 x 最近的整数,可选参数 y 表示要四舍五入的小数位数,如果省略,则返回整数。
实例1:返回整数
SELECT ROUND(1.23456);
输出:1
实例2:返回两位小数
SELECT ROUND(345.156, 2);
输出:345.16
11.TRUNCATE(x,y)
描述:返回数值 x 保留到小数点后 y 位的值(不进行四舍五入)
实例:返回3位小数
SELECT TRUNCATE(1.23456,3);
输出:1.234
12.CEIL(x) / CEILING(x)
描述:返回大于或等于 x 的最小整数
实例:SELECT CEIL(1.5); / SELECT CEILING(1.5);
输出:2
13.FLOOR(x)
描述:返回小于或等于 x 的最大整数
实例:小于或等于 1.5 的整数:
SELECT FLOOR(1.5);
输出:1
14.SIGN(x)
描述:返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1
实例:返回 -10 的符号
SELECT SIGN(-10);
输出:-1
15.ABS(x)
描述:返回 x 的绝对值
实例:返回 -2 的绝对值:
SELECT ABS(-2);
输出:2
16.RAND()
描述:返回 0 到 1 的随机数
实例:SELECT RAND();
输出:0.93099315644334
17.POW(x,y) / POWER(x,y)
描述:返回 x 的 y 次方
实例:2 的 3 次方:
SELECT POWER(2,3); / SELECT POWER(2,3);
输出:8
18.EXP(x)
描述:返回 e 的 x 次方
实例:计算 e 的三次方:
SELECT EXP(3);
输出:20.085536923188
19.SIN(x) / ASIN(x) / COS(x) / ACOS(x) / ...
描述:求 x 数值的正弦值 / 反正弦值 / 余弦值 / 反余弦值 / ...(单位为弧度)
实例:SELECT SIN(0.25); / SELECT ASIN(0.25); / SELECT COS(0.25); / SELECT ACOS(0.25);
20.DEGREES(x)
描述:将弧度转换为角度
实例:将弧度 3.1415926535898 转换为角度
SELECT DEGREES(3.1415926535898);
输出:180
21.RADIANS(x)
描述:将角度转换为弧度
实例:180 度转换为弧度:
SELECT RADIANS(180);
输出:3.1415926535898
MySQL函数(下):MySQL函数(下)-CSDN博客其中包括
三、日期函数
四、高级函数
五、MySQL 8.0 版本新增的一些常用函数
PS:本文为个人总结,如有错误欢迎指出。