MySQL 数学、字符、日期、聚合函数

1、单行函数

1.1、数学函数

数学函数含义例子
abs()绝对值select abs(-1); /1/
ceiling()/ceil()向上取整,最接近并且大于等于该值的整数值select ceil(12.5); /13/ select ceil(-12.5); /-12/
floor()向下取整,最接近并且小于等于该值的整数值select floor(12.5); /12/ select floor(-12.5); /-13/
mode(m,n)m 对 n 取模select mode(5,3); /2/
PI()取 PI 的值select PI(); /3.141593/
pow(m,n)/power(m,n)取 m 的 n 次方select POWER(3,2); /9/
rand()取随机数select rand(); /* [0,1) 之间获取随机数*/
round(m)/round(m,n)四舍五入select round(13.567); /14 默认从 m 小数点后 1 位开始四舍五入/ select round(13.567, 2); /13.57 从 m 小数点后 n 位开始四舍五入/
truncate(m,n)截取 m 小数点后 n 位select truncate(3.56,1); /3.5/

1.2、字符函数

字符函数含义例子
ascii(str)获取 str 的 ascii 码值select ASCII(‘a’); //97
lower(字段表达式)将字符串转换为小写
upper(字段表达式)将字符串转换为大写
concat(str1,str2…)将字符串连接select CONCAT(‘aa’,2,‘cc’); //aa2cc
length(字段表达式)获取字符串长度
substr(str,pos,len)截取字符串,pos是开始位置的索引(str索引从1开始);len表示长度select SUBSTR(‘my name is gardy_lee’,4,4); //name
replace(str,old,new)替换字符串。在str中搜索old,使用new代替select REPLACE(‘my name is gardy_lee’,‘my’,‘your’); //your name is grady_lee
lpad(str,len,s)字符串左侧填充。str长度不够len,使用s左侧填充select LPAD(‘hello’,10,’–’); //-----hello
rpad(str,len,s)字符串右侧填充。str长度不够len,使用s右侧填充select RPAD(‘hello’,10,’-’); //hello-----
trim()去重左右两侧的空格select trim(’ hello '); //hello

1.3、日期函数

日期函数含义例子
NOW()/SYSDATE()/CURRENT_TIMESTAMP()获取当前系统日期时间select NOW(); //2021-03-01 14:35:21
CURRENT_DATE()/CURDATE()获取当前系统日期select CURRENT_DATE(); //2021-03-01
CURRENT_TIME()/CURTIME()获取当前系统时间select CURRENT_TIME(); //14:35:21
DATE_ADD(date,INTERVAL expr unit)日期转换select DATE_ADD(‘1998-08-08’,INTERVAL 2 YEAR); //2000-08-08,加2年(INTERVAL -2 YEAR 减两年,INTERVAL 2 MONTH 加两月,INTERVAL -2 DAY 减两天…)
DAY(date)获取当前天数select DAY(‘2000-09-10’); //10
MONTH(date)获取当前月份select MONTH(‘2000-09-10’); //9
YEAR(date)获取当前年份select YEAR(‘2000-09-10’); //2000
week(date)返回一年中的周数select WEEK(‘2001-02-05’); //5,一月31天,加上二月5天,共36天,一周7天,连接上一年12月末的周数去掉,今天是第5周
weekday(date)返回一周中的第几天(0-6)select WEEKDAY(‘2001-02-06’); //1 周二

2、聚合函数

日期函数含义
avg()平均值
sum()获取总数
max()获取最大值
min()获取最小值
count()统计数目

3、分组函数

GROUP BY 子句:
用于将信息划分为更小的组
每一组行返回针对该组的单个结果
HAVING 子句:
用于指定 GROUP BY 子句检索行的条件

# 查询平均工资大于2000的部门编号
select deptno as 部门编号,avg(sal) 平均工资 from emp group by deptno having 平均工资>=2000;

4、加密函数

select md5('root');
select SHA('root');
select PASSWORD('root');
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值