1、聚合函数
- 聚合函数只能对表的数据进行计算,得到一个确定的值
- 除了COUNT以外,聚合函数都会忽略空值
- 聚合函数经常与SELECT 语句的GROUP BY子句一起使用
名称 | 描述 |
---|---|
AVG() | 平均值 |
COUNT() | 计数 |
MIN() | 最小值 |
MAX() | 最大值 |
SUM() | 求和 |
2、字符函数
函数名称 | 描述 |
---|---|
CONCAT() | 字符连接 |
CONCAT_WS() | 指定的分隔符进行字符连接 |
LOWER() | 转换成小写字母 |
UPPER() | 转换成大写字母 |
LEFT() | 获取左侧字符 |
RIGHT() | 获取右侧字符 |
FORMAT() | 数字格式化 |
select mobilephone,substr(mobilephone,5) from memeber;-----从第5位字符开始截取
select mobilephone,substr(mobilephone from 5) from memeber;-----从第5位字符开始截取
select mobilephone,substr(mobilephone,2,5) from memeber;-----从第2位字符开始截取5位字符
select mobilephone,substr(mobilephone from 2 for 5) from memeber;-----从左边第2位字符开始截取5位字符
select mobilephone,substr(mobilephone from -5 for 5) from memeber;-----从右边第5位字符开始截取5位字符
3、数值函数
算术操作符与数值函数
函数名称 | 描述 |
---|---|
ABS(X) | 返回X的绝对值 |
CELL(X) | 进一取整;返回不小于X的最小整数值 |
DIV | 整数除法,类似于FLOOR() |
FLOOR() | 舍一取整;返回不大于X的最大整数值 |
MOD | 取余数(取模) |
POW(X,Y),POWER(X,Y) | 幂运算,返回X的Y乘方的结果值 |
ROUND(X),ROUND(X,D) | 四舍五入 |
TRUNCATE(X,D) | 数字截取 |
RAND() | 返回一个随机浮点值v,范围在0到1之间(即,其范围为0<=v<=1.0),若已指定一个整数参数N,则它被用作种子值,用来产生重复序列 |
select round(150.23,1);----从小数点右侧第二位小数位开始进行四舍五入
select round(150.23,0);---从小数点右侧第一位小数位进行四舍五入
select round(150.23,-1);---从小数点左侧第一位进行四舍五入
4、日期函数
名称 | 描述 |
---|---|
NOW() | 当前日期和时间值 |
CURDATE() | 当前日期 |
CURTIME() | 当前时间 |
DATE_ADD(date,INTERVAL expr unit) ADDDATE(date,INTREVAL expr unit) DATE_SUB(date,INTERVAL expr unit) SUBDATE(date,INTERAL expr unit) | 日期变化 |
DATEDIFF() | 日期差值 |
DATE_FORMAT() | 日期格式化 |
5、比较运算符和比较函数
名称 | 描述 |
---|---|
[NOT] BETWEEN...AND... | 【不】在范围之内 |
[NOT]IN() | 【不】在列出值范围内 |
IS [NOT] NULL | 【不】为空 |
LEAST(x,y...) | 返回最小值 |
GREATEST(x,y...) | 返回最大值 |
6、信息函数
名称 | 描述 |
---|---|
DATABASE() | 当前数据库 |
CONNECTION_ID() | 连接ID |
LAST_INSERT_ID() | 最后插入记录的ID号 |
USER() | 当前用户 |
VERSION() | 版本信息 |
7、加密函数
名称 | 描述 |
---|---|
MD5(str) | 信息摘要算法 若参数为NULL,则会返回NULL |
PASSWORD(str) | 密码算法 原文密码str计算并返回密码字符串,用于用户授权表的password列中的加密 用于MySQL密码存储 |
8、IF控制函数、CASE操作符、IFNULL判空表达式
名称 | 描述 |
---|---|
IF(expr1,expr2,expr3) | IF分支表达式 expr1是TURE(expr1<>0 and expr1 <>NULL,则IF()的返回值为expr2;否则返回值为expr3) |
CASE...WHEN...THEN... | CASE分支表达式 |
IFNULL(expr1,expr2) | 判空表达式 expr1不为NULL,则IFNULL()的返回值为expr1;否则其返回值为expr2 |
- 控制流程函数
SELECT RegName,MobilePhone,LeaveAmount,IF(LeaveAmount>=200000,'是土豪','不是土豪')
FROM member;
- case操作符
SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
SELECT RegName,MobilePhone,LeaveAmount,
CASE WHEN LeaveAmount>=400000 THEN '土豪' WHEN LeaveAmount<400000 AND LeaveAmount>=200000 THEN '中产' ELSE '无产' END
FROM member;
- IFNULL判空表达式
SELECT Title,Amount,FullTime,IFNULL(FullTime,'未满标')
FROM loan;