Mysql的函数及聚合函数初级部分示例


Mysql内置了很多函数可供我们调用,灵活掌握这些内置函数可以让我们日常的sql编写工作变得更加容易。




字符函数



函数名称描述
CONCAT('str1', 'str2')字符连接
CONCAT_WS('分隔符', str1, str2)使用指定的分隔符进行字符连接
FORMAT(num, 需要保留的小数点后位数)数字格式化
LOWER(str)转换成小写字母
UPPER(str)转换成大写字母
LEFT(str, 需要获取字母的位数)获取左侧字符串
RIGHT(str, 需要获取字母的位数)获取右侧字符串
LENGTH(str)获取字符串长度
LTRIM(str)删除前导空格
RTRIM(str)删除后续空格
TRIM(str)删除前导和后续空格
SUBSTRING(str, start[, length])字符串截取(start初始为1,为负值时将从后面开始截取。length不存在默认截取到最后)
[NOT] LIKE模式匹配
REPLACE(allstr, nowstr, newstr)字符串替换(nowstr为将被替换的子串)



关于TRIM的拓展用法:


SELECT TRIM(LEADING '?' FROM '??Mysql???');
输出结果 >>> 'Mysql???'


SELECT TRIM(TRAILING '?' FROM '??Mysql???');
输出结果 >>> '??Mysql'


SELECT TRIM(BOTH '?' FROM '??Mysql???');
输出结果 >>> 'Mysql'



关于LIKE的用法:


SELECT * FROM users WHERE name LIKE '%t%';


查找用户表中名字包含t字母的项。


如果需要查找名字中含有"%"(百分号)的用户,则需要对%进行单独说明。


SELECT * FROM users WHERE name LIKE '%1%%' ESCAPE '1';


"%"(百分号)代表任意字符,"_"(下划线)代表任意一个字符。




数值运算符和函数



函数名称描述
CEIL(num)进一取整(CEIL(3.14) == 4)
DIV整数除法(3 DIV 4 == 0)
FLOOR(num)舍一取整(FLOOR(3.14) == 3)
MOD取余数(取模,等价于 % )
POWER(num1, num2)幂运算(POWER(3, 3) == 3*3*3)
ROUND(num1, num2)四舍五入(num2为保留的小数位数)
TRUNCATE(num1, num2)数字截取(TRUNCATE(125.82, -1) == 120)
[NOT] BETWEEN … AND …[不]在范围之内
[NOT] IN()[不]在列出值范围内
IS [NOT] NULL[不]为空



示例:

SELECT 15 BETWEEN 1 AND 22;
SELECT 6 IN(3, 6, 9, 12);




日期时间函数



函数名称描述
NOW()当前日期和时间
CURDATE()当前日期
CURTIME()当前时间
DATE_ADD(…)日期变化
DATEDIFF()日期差值(DATEDIFF('2019-8-7','2018-8-7') == 365)
DATE_FORMAT()日期格式化



示例(日期变化):

SELECT DATE_ADD('2018-8-7', INTERVAL 365 DAY);
输出结果 >>> "2019-08-07"


类似的还有
SELECT DATE_ADD('2018-8-7', INTERVAL 1 YEAR);
SELECT DATE_ADD('2018-8-7', INTERVAL 18 WEEK);


日期格式化:

SELECT DATE_FORMAT('2018-8-7','%m/%d/%Y');




信息函数



函数名称描述
CONNECTION_ID()连接ID
DATEBASE()当前数据库
LAST_INSERT_ID()最后插入记录的ID
USER()当前用户
VERSION()版本信息




聚合函数



聚合函数的特点是只存在一个返回值。


函数名称描述
AVG()平均值
COUNT()计数
MAX()最大值
MIN()最小值
SUM()求和



示例:

SELECT AVG(age) FROM users;
SELECT COUNT(id) FROM users;
SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;
SELECT SUM(age) FROM users;




加密函数



函数名称描述
MD5()信息摘要算法(主要运用于web项目)
PASSWORD()密码算法(主要运用mysql的密码修改)



示例:

SET PASSWORD = PASSWORD('123456');


修改当前用户的密码为"123456"。


作者:筱剑Beta

2019-12-20 17:03:52.0编辑

2019-08-07 18:18:52.0创作

所属分类:Mysql

mysql
sql
发布

街角有人祝福,巷口有人哭,这里却没人评论ε=(´ο`*)))