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 子句检索行的条件
select deptno as 部门编号,avg(sal) 平均工资 from emp group by deptno having 平均工资>=2000;
4、加密函数
select md5('root');
select SHA('root');
select PASSWORD('root');