代码音符

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

创建时间: 2019-8-7 18:18

修改时间: 2023-6-26 18:06

浏览: 94

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"。

创建时间: 2019-8-7 18:18

修改时间: 2023-6-26 18:06

浏览: 94

*本文遵循 CC BY-NC-SA 许可协议。转载请注明出处!