目录
常见函数
功能:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名,
好处:
1、隐藏了实现细节 2、提高代码的重用性
调用:select 函数名(实参列表) 【FROM 表】;
特点:1、叫什么(函数名)
2、干什么的(函数功能)
分类:1、单行函数
如:concat、length、ifnull等
2、分组函数
功能:做统计使用,又称为统计函数、聚合函数,组函数
字符函数
字符函数:
#1.LENGTH 获取参数值的字节个数
SELECT LENGTH('john');
SELECT LENGTH('张三丰hahaha') #一个汉字占三个字节(与使用的字符集有关)
SHOW VARIABLES like '%char%' #查看字符集
#2.concat 拼接字符串
SELECT CONCAT(last_name,'_',first_name) AS 姓名 FROM employees ;
#3.upper、lower
SELECT UPPER('john');
SELECT LOWER('joHn');
#实例:将姓变大写,名变小写,在拼接
SELECT CONCAT(UPPER(last_name),'_',LOWER(first_name)) AS 姓名 from employees;
#4.substr、substring截选
SELECT SUBSTR('李莫愁爱上了陆展元',6) AS out_put;
注意:索引从1开始(指索引处后面所有字符)
SELECT SUBstr('李莫愁爱上了陆展元',1,3) as out_put;
注意:从索引1开始,截选长度3(字符长度)
#案例:姓名中首字母大写,其他字母小写,然后拼接。
SELECT
CONCAT(
UPPER(substr(last_name, 1, 1)),
LOWER(substr(first_name, 2))
) out_put
FROM
employees;
#5.instr(返回子串第一次出现的起始索引,如果没有就返回0)
SELECT INSTR('杨不悔爱上了殷六侠','殷六侠') AS out_put;
#6.trim
SELECT LENGTH(trim(' 张翠山 ')) AS out_put
SELECT TRIM('a' FROM 'aaaaaaaaa张翠aaaaaaaaaaaa山aaaaaaaaaaaaaaaa')
SELECT TRIM('aa' FROM 'aaaaaaaaa张翠aaaaaaaaaaaa山aaaaaaaaaaaaaaaa')
#7 lpad(用指定的字符实现左填充指定长度)
# 指定字符'*',左填充'殷素素',填充之后的长度是10
SELECT LPAD('殷素素',10,'*') AS out_put;
#8 rpad(用指定的字符实现右填充指定长度)
SELECT RPAD('殷素素',12,'ab') AS out_put;
#9 replace 替换(多个替换)
SELECT REPLACE('张无忌爱上了周芷若周芷若周芷若','周芷若','赵敏') AS out_put;
数字函数
1、round函数(四舍五入)
例子:
输出:
|
2、Ceil函数:向上取整
例子:
输出:
|
3、Floor函数:向下取整
例子:
输出:
4、Truncate函数:截断
例子:
输出:
5、Mod函数:取余
例子:
输出:
|
日期函数
函数测试:
其他函数
流程控制函数
#五、流程控制语句
#1、if函数:if else效果
#if(参数1,参数2,参数3):如果参数1为true,则返回参数2,否则参数3
例子1:
输出1:
例子2:
输出2:
case函数的使用
case函数的使用一:
switch case 效果
/*
switch(变量或表达式){
case 常量1:语句1 ;break;
...
default:语句n;break;
}
mysql中:
case 要判断的字段或者表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值1或语句2;
...
else 要显示的值n或语句n;
end
*/
例子:
输出:
#case函数的使用二:类似于多重if
/*
java中:
if(条件1){
语句1;
}else if(条件2){
语句2;
}
....
else{
语句n;
}
mysql中:
case
when 条件1 then 要显示的值1或语句
when 条件2 then 要显示的值2或语句
...
else 要显示的值n或者语句
end
*/
例子:
输出: