concat
Database changed
mysql> select concat('q','w','e');
+
| concat('q','w','e') |
+
| qwe |
+
1 row in set (0.05 sec)
常见函数
- 概念:类似于 java 的方法,将一组逻辑语句封装在方法体中,对外暴露方法名
- 好处:隐藏了实现细节,提高代码的重用性
- 特点:1. 叫什么(函数名) 2. 干什么(函数功能)
- 分类:
- 单行函数
如 concat,length,ifnull 等 - 聚合函数
做统计使用,又称为统计函数,分组函数,组函数
单行函数
- 字符函数
- 数学函数
- 日期函数
- 其他函数(补充)
- 流程控制函数(补充)
字符函数
- length:获取参数的字节个数
select length('小哥ge');
结果是 8,utf8 一个汉字三个字节,一个字母一个字节 - concat:拼接字符串
select concat('xiaoge', 'handsome', 'best');
结果是 ’xiaogehandsomebest‘ - upper,lower
upper:变大写,lower:变小写 - substr/substring:截取从索引处和后面的字符,索引从 1 开始
SELECT SUBSTR('xiaoge is handsome',1,4);
SELECT SUBSTR('xiaoge is handsome',11);
- instr:获取字符串第一次出现的索引,如果没有,结果为 0
SELECT INSTR('xiaoge is handsome','xiaoge');
select INSTR('xiaoge is handsome','is');
SELECT TRIM(' xiaoge is handsome ');
SELECT TRIM('2' from '22222 xiaoge is 2222 handsome 22222222');
- lpad:用指定字符实现左填充到指定长度,rpad:用指定字符实现右填充到指定长度,这里的长度是字符数,不是字节数
SELECT LPAD('handsome',18,'xiaoge');
SELECT RPAD('handsome',4,'xiaoge');
SELECT LPAD('handsome',9,'xiaoge');
- replace:替换,第一个参数是原字符串,第二个参数是想要替换的字符串,第三个参数是想要替换成的字符串,如果有多个,就替换多个
SELECT REPLACE('girl love xiaoge, girl are beautiful', 'girl', 'girls');
数学函数
- round:四舍五入,可以加 1 个或者 2 个参数,如果 1 个参数默认从小数点后一位开始舍入,如果两个参数,第二个参数值是保留几位
SELECT ROUND(1.254);
SELECT ROUND(1.254,1);
SELECT CEIL(1.01);
SELECT CEIL(1.00);
SELECT FLOOR(1.99);
SELECT FLOOR(2.00);
- truncate:截断,第二个参数表示小数点后保留位数
SELECT TRUNCATE(1.0999,1);
- mod:取模/取余相当于 %,有负数看被除数,被除数为正,结果为正;被除数为负,结果为负
SELECT MOD(5,3);
SELECT MOD(1,4);
SELECT MOD(-10,3);
SELECT MOD(-10,-3);
SELECT MOD(10,-3);
日期函数
- now:当前系统日期和时间
- curdate:当前系统日期,不包含时间
- curtime:当前时间,不包含日期
- year、month…:年月日时分秒
SELECT NOW();
select CURDATE();
select CURTIME();
SELECT YEAR(NOW());
select MONTHNAME(NOW());
SELECT STR_TO_DATE('20/6-11','%y/%c-%d');
SELECT DATE_FORMAT('2020-06-11','%y年%c月%d日');
流程控制函数
SELECT IF(10>11,'true',0);