概念
概念:类似于Java方法,将一组逻辑封装在方法体中,对外只暴露方法名;
好处:隐藏实现细节,提高代码重用性;
调用:select 函数名(实参列表) 【from 方法名】;
特点:
1.叫什么(函数名)
2.干什么(函数功能)
分类:
1.单行函数(length,ifnull)
2.分组函数
做统计使用,又称统计函数、聚合函数、组函数
单行函数
字符函数,数学函数,日期函数,其他函数(补充),流程控制函数(补充)
1.字符函数
length
获取参数值的字节个数
SELECT LENGTH('john');
SELECT LENGTH('张三丰hahaha');
show variables like '%char%'
concat
拼接字符串
SELECT CONCAT(lastname,'_',firstname) 姓名 from employees;
upper,lower
SELECT UPPER('john');
SELECT LOWER('john');
//实例:将姓变大写,名变小写,然后拼接
SELECT CONCAT(lastname),LOWER(firstname) 姓名 FROM employees;
substr、substring
截取字符串
SELECT SUBSTR('李莫愁爱上了陆展元',7) out_put;
SELECT SUBSTR('李莫愁爱上了陆展元',1,3) out_put;
//案例:姓名中首字符大写,其他字符小写,用_拼接
SELECT CONCAT(UPPER(SUBSTR(lastname,1,1)),'_',LOWER(SUBSTR(lastname,2))) out_put FROM employees;
instr
返回字串第一次出现的索引
SELECT INSTR('杨不悔爱上了殷六侠','殷六侠') AS out_put;
trim
SELECT LENGTH(TRIM(' 张翠山 ')) AS out_put;
SELECT TRIM('a' FROM 'aaaaaaaaaaaaaaaa张aaaaaaaaa翠山aaaaaaaaaaa') AS out_put;
lpad|rpad
用指定的字符左|右填充
SELECT LPAD('殷素素','12','ab') AS out_put;
replace
替换
SELECT REPLACE('周芷若周芷若周芷若周芷若周芷若张无忌爱上了周芷若','周芷若','赵敏') AS out_put;
数学函数
round
四舍五入
SELECT ROUND(-1.55);
SELECT ROUND(1.567,2);
ceil
向上取整
SELECT CEIL(1.02);
floor
向下取整
SELECT FLOOR(-9.99);
truncate
截断
SELECT TRUNCATE(1.6999,1);
mod
取余
select mod(10,-3);
select 10%3;