MySQL常用小函数汇总
2020-01-16 本文已影响0人
KM_0d16
MySQL数据库专栏:
简书:https://www.jianshu.com/nb/42057860
知乎:https://zhuanlan.zhihu.com/791072385mysql
函数汇总目录
- 时间差函数
- 取整取余函数
- 字符串函数
1.时间差函数
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差(是date2减去date1,即后面的时间参数减去前面的时间参数)。其结果的
单位由interval 参数给出。如:
SELECT TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01'); //输出-1
SELECT TIMESTAMPDIFF(MONTH,'2009-09-01','2009-10-01'); //输出1
SELECT TIMESTAMPDIFF(DAY,'2009-09-01','2009-10-01'); //输出30
interval可是:
SECOND 秒
MINUTE 分钟
HOUR 时间
DAY 天
MONTH 月
YEAR 年
2.取整函数
2.1 ROUND函数
ROUND(X) -- 表示将值 X 四舍五入为整数,无小数位
ROUND(X,D) -- 表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数。若要保
留 X 值小数点左边的 D 位,可将 D 设为负值。
2.2 TRUNCATE函数
TRUNCATE(expr, int_expr)用法
TRUNCATE函数将expr按照int_expr长度在小数点后按照位数直接进行截取。与ROUND函数不同的是不进行四舍五入
2.3 FLOOR函数
FLOOR(X)表示向下取整,只返回值X的整数部分,小数部分舍弃
2.4 CEILING函数 / CEIL函数
ceil()函数和ceiling()函数均可用来实现向上取整
2.5 mod函数
取余是用函数mod(numer1,number2),其返回的值为其余数值,即number1 % number2
如:mod(id,2) = 1 返回id号是奇数的id
SELECT CEIL(2.2);//输出3
SELECT CEILING(2.2);//输出3
SELECT FLOOR(2.2);//输出2
SELECT ROUND(2.2);//输出2
SELECT ROUND(2.2333,2);//输出2.23
SELECT MOD(10,4);//输出2
SELECT MOD(5,2);//输出1
3.字符串函数
函 数 | 功 能 |
---|---|
CONCAT(str1,str2,...,strn) | 将str1,str2,...,strn连接为一个完整的字符串 |
INSERT(str,x,y,instr) | 将字符串str从第x开始,y个字符串长度的子串替换为字符串instr |
LOWER(str) | 将字符串str中的所有字母变成小写 |
UPPER(str) | 将字符串str中的所有字母变成大写 |
LEFT(str,x) | 返回字符串最左边的x个字符 |
RIGHT(str,x) | 返回字符串最右边的x个字符 |
LPAD(str,n,pad) | 使用字符串pad对字符串str最左边进行填充,直到长度为n个字符长度 |
RPAD(str,n,pad) | 使用字符串pad对字符串str最右边进行填充,直到长度为n个字符长度 |
LTRIM(str) | 去掉str左边的空格 |
RTRIM(str) | 去掉str右边的空格 |
REPEAT(str,x) | 返回字符串str重复x次的结果 |
REPLACE(str,a,b) | 使用字符串b替换字符串str中所有出现的字符串a |
STRCMP(str1,str2) | 比较字符串str1和str2 |
TRIM(str) | 去掉字符串行头和行尾的空格 |
SUBSTRING(str,x,y) | 返回字符串str中从x位置起y个字符串长度的字符串 |