你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

mysql常用函数

2021-11-14 21:43:19

常见函数介绍

1.单行函数

一,字符函数

1.length()   获取参数值的字节数
SELECT LENGTH('jonh');      //4
SELECT LENGTH('张三丰hahaha');  //15
//utf-8,每个英文一个字节(8Byte),每个汉字三个字节

2.concat    拼接字符串

3.upper,lower    大小写

4.substr,substring   
mysql中索引从1开始
4个重载:(String srt,int index)   //截取指定索引处后面的所有字符
	   (String str,int index,int length)  //截取指定索引处指定字符长度的字符
	   
5.instr	(String str1,String str2)  //返回子串str2在str1第一次出现的索引,如果找不到,返回0

6.trim(String str)   //去前后空格
trim('a' FROM 'aaaa张aaaa翠山aaaaa');    //去掉前后的a

7.lpad('殷素素',2,'*')              //殷素     左填充
lpad('殷素素',10,'*')              //*******殷素素

8.rpad()

9.replace(String str,String str1,String str2)     //替换

二,数学函数

1.round  //四舍五入

2.ceil  //向上取整

3.floor  //向下取整

4.truncate //截断

5.mod   //取余

三,日期函数

1.now   //返回当前系统+日期

2.curdate  //返回当前日期,不包含时间

3.curtime //

4.获取指定部分,,,,小时,分钟,YEAR()
MONTH()......

5.str_to_date  //将日期格式的字符转换成指定格式的日期

6.date_format  //将日期转换成字符

四,其他函数

1.VERSION()  

2.DATEBASE()

3.USER()

五,流程控制函数

1.if(expr1,expr2,expr3)  //expr1为正确,返回expr2

2.case
①switch case

case  要判断的字段或表达式
when 常量1 then 要显示的值1或语句1 
when 常量2 then 要显示的值2或语句2 
...
else 要显示的值n或语句n
end


//eg
查询员工的工资
SELECT salary 原始工资,department_id,
//相当于一个新字段
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工资
//
FROM employees;case函数:相当与多重if
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
....
else 要显示的值n或语句n
end

//eg
查询员工的工资情况
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则,显示D级别

SELECT salary, 
CASE
WHEN salary>20000 THEN 'A'
WHEN salary>15000 THEN 'B'
WHEN salary>10000 THEN 'C'
ELSE 'D'
END AS 工资级别
FROM employees;

2.分组函数

①分类:

sum 求和,avg 平均值,max最大值,min 最小值,count 计算个数(非空的值有多少)

②参数支持哪些类型

1.sum,avg一般用于处理数值型

max,min,count可以处理任何类型

2.所有分组函数忽略null值

3.可以和distinct搭配实现去重运算

4.count函数详细介绍

SELECT COUNT(*) FROM employees;
SELECT COUNT(1) FROM employees;

效率:
MYISAM存储引擎下,count(*)的效率高

INNODB存储引擎下,count(*)count(1)效率差不多,比count(字段)要高一些。

5.和分组函数一同查询的字段有限制

要求:group by后的字段