MySQL函数

字符函数

函数名称 描述 举例 结果
CONCAT() 字符连接 SELECT CONCAT(‘a’,’-‘,’b’); a-b
CONCAT_WS() 使用指定的分隔符进行字符连接 SELECT CONCAT_WS(‘ ‘,’A’,’B’,’C’); A B C
FORMAT() 数字格式化 SELECT FORMAT(12560.78,1); 12,560.8
LOWER() 转换成小写字母
UPPER() 转换成大写字母
LEFT() 获取左侧字符 SELECT LEFT(‘mysql’,2); my
RIGHT() 获取右侧字符
LTRIM() 删除前导空格(=LEFT TRIM())
RTRIM() 删除后续空格
TRIM() 删除前后两边的空格,还可以删除指定的前导和后续的字符,不能删除中间的字符 SELECT TRIM(LEADING’?’,’??MYSQL????’);
SELECT TRIM(TRAILING’?’,’??MYSQL????’);
SELECT TRIM(BOTH’?’,’??MYSQL???’);
MYSQL????
??MYSQL
MYSQL
REPLACE() 替换字符 SELECT REPLACE(‘??MYSQL???’,’?’,’-‘); –MYSQL—
SUBSTRING(string,offset,length) 截取字符串 SELECT SUBSTRING(‘MYSQL’,2,3); SQL
[NOT]LIKE 模糊匹配 (%):代表任意个字符,0个或多个
(_):代表任意一个字符,只有一个
SELECT name FROM test WHERE name LIKE’%O%’;
SELECT name FROM test WHERE name LIKE’%1%%’ ESCAPE’1’;
name 中带‘O’的name
中间带% 的匹配name
LEAGTH() 获取字符串长度


数值运算符与函数

函数名称 描述 举例 结果
CEIL(数值) 向上取整 SELECT CEIL(3.01); 4
FLOOR(数值) 向下取整 SELECT FLOOR(3.99); 3
DIV 整数除法 SELECT 3 DIV 4; 0
MOD 取余,可以用%号代替 SELECT 4 MOD 3;
SELECT 5.3 MOD 3;
1
2.3
POWER(数值,数值) 幂运算 SELECT POWER(3,3); 27
ROUND(数值,小数的位数) 四舍五入 ROUND(3.1415926,4) 3.142
TRUNCATE(数值,截取位数) 截断(不四舍五入) SELECT TRUNCATE(123.89,1)
SELECT TRUNCATE(125.68,-1);
123.8
120


比较运算符与函数

函数名称 描述 举例 结果
[NOT]BETWEEN…AND… [不]在范围之间,1为是,0为否 15 BETWEEND 1 AND 20
15 NOT BETWEEND 1 AND 20
1
0
[NOT]IN() [不]在列出值范围内 10 IN(5,10,15) 1
IS [NOT] NULL [不]为空 NULL IS NULL
‘’ IS NULL
1
0


日期时间函数

函数名称 描述
NOW() 当前时间 含日期时间
CURDATE() 当前日期 只有日期
CURTIME() 当前时间 值有时间
DATE_ADD() 时间增减或减少
DATEDIFF() 日期差值
DATE_FORMAT() 日期格式化
1
2
3
4
5
6
7
8
9
10
11
12
SELECT DATE_ADD('2014-3-12',INTERVAL 365 DAY);
2015-3-12
//在原有给定的时间上增加365天
//INTERVAL增加可以增加负值 单位 year,month,week,day
SELECT DATEDIFF('2014-1-1','2015-1-1');
-365
//时间差值计算 单位为日 前面时间减去后面时间
SELECT DATE_FORMAT('2014-3-2','%m/%d/%d');
03/02/2014
//日期格式转换


信息函数

函数名称 描述 举例 结果
CONNECTION_ID() 连接ID SELECT CONNECTION_ID(); SELECT CONNECTION_ID(); 3
SELECT DATABASE() 当前数据库 SELECT DATABASE(); users
LAST_INSERT_ID(); 最后插入记录的 ID 号 SELECT LAST_INSERT_ID(); 如果是一次insert中插入的是多条记录,得到的是多条中的第一条(而不是最后一条!)
USER() 当前用户 SELECT USER(); root@localhost
VERSION(); 版本的信息 SELECT VERSION(); 5.7.21


聚合函数

函数名称 描述 举例
AVG() 平均值 SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods;
COUNT() 计数 SELECT COUNT(goods_id) as counts FROM tdb_goods;
MAX() 最大值 SELECT MAX(goods_price) as counts FROM tdb_goods;
MIN() 最小值 SELECT MIN(goods_price) as counts FROM tdb_goods;
SUM() 求和 SELECT SUM(goods_price) as counts FROM tdb_goods;


加密函数

函数名称 描述 举例 结果
MD5() 信息摘要算法,为以后的Web页面做准备,尽量使用MD5() SELECT MD5(‘admin’); 21232f297a57a5a743894a0e4a801fc3
PASSWORD() 密码算法通过PASSWORD()修改(重要用于MYSQL数据库)当前用户和其他用户的密码,修改客户端自己的密码 SELECT PASSWORD(‘admin’);
SET PASSWORD=PASSWORD(‘dimitar’);
*4ACFE3202A5FF5CF467898FC58AAB1D615029441
把密码修改成dimitar