数据库-系统函数

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;

 

 

你可能感兴趣的:(数据库)