字符函数
函数名称 | 描述 | 举例 | 结果 | |||
---|---|---|---|---|---|---|
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 |