数据库-系统函数

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;

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值