字符函数
| 函数名称 | 描述 | 举例 | 结果 | |||
|---|---|---|---|---|---|---|
| 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() | 日期格式化 | 
| 
 | 
 | 
信息函数
| 函数名称 | 描述 | 举例 | 结果 | |
|---|---|---|---|---|
| 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 |