MySQL—函数的使用

一、函数的使用

MySQL中提供了大量函数来简化用户对数据库的操作,比如字符串的处理、日期的运算、数值的运算等等。使用函数可以大大提高SELECT语句操作数据库的能力,同时也给数据的转换和处理提供了方便。 (在sql中使用函数)

函数只是对查询结果中的数据进行处理,不会改变数据库中数据表的值。MySQL中的函数主要分为单行函数和多行函数两大类,下面我们将详细讲解这两大类函数。

二、单行函数

单行函数是指对每一条记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。
常用的单行函数主要包括字符串函数、数值函数、日期与时间函数、流程函数以及其他函数。
举例:
举例

select empno,ename,lower(ename),upper(ename) from emp;

从运行 结果可以看到:
lower(ename),upper(ename) 改变每一条数据,–单行函数
在这里插入图片描述
常用的单行函数
1、字符串函数

select ename,length(ename),substring(ename,2,3) from emp;

substring:字符串截取,2:从字符下标为2开始,截取长度3起,始位置为从1开始
在这里插入图片描述

2、数值函数

select abs(-5),ceil(5.3),floor(5.9),round(3.14) from dual; -- dual:伪表
select abs(-5) as 绝对值,ceil(5.3) as 向上取整,floor(5.9) as 向下取整,round(3.14) as 四舍五入; -- 

在这里插入图片描述

3、日期和时间函数

select now(),sysdate(),sleep(3),now(),sysdate() from dual

在这里插入图片描述

4、流程函数
4.1、if 相关

select empno,ename,job,
case job
	when 'CLERK' then '店员'
	when 'SALESMAN' then '销售'
	when 'MANAGER' then '经理'
	else '其他'
end '岗位',
sal from emp;

在这里插入图片描述

4.2、case相关

select empno,ename,sal,
case
	when sal<1000 then 'A'
	when sal<2000 then 'B'
	when sal<3000 then 'C'
	else 'D'
end '工资等级',
deptno from emp;

在这里插入图片描述

5、其他函数

select database(),user(),version() from dual;

查看数据库名、用户、mysql的版本

在这里插入图片描述

三、多行函数

多行函数是指对一组数据进行运算,针对这一组数据(多行记录)只返回一个结果,也称为分组函数。

1、多行函数

select max(sal),min(sal),count(sal),sum(sal),avg(sal) from emp;

从运行结果看到:
max(sal),min(sal),count(sal),sum(sal),avg(sal):多条数据,最终展示一条数据 --多行函数
在这里插入图片描述
2、多行函数会自动忽略null值

select max(comm),min(comm),count(comm),sum(comm),avg(comm) from emp;

原表:
在这里插入图片描述
查询后结果
在这里插入图片描述
3、max(),min(),count():针对所有类型 sum(),avg()只针对数值类型有效

select max(ename),min(ename),count(ename),sum(ename),avg(ename) from emp;

在这里插入图片描述
4、count()函数:统计表的记录数
方式1:
一般用count(*)统计记录数,因为表中的其他字段可能为空
select count(*) from emp;
方式2:

select 1 from dual

select 1 from emp; -- 有多少条记录,展示多少个1
select count(1) from emp

select count(1) from emp:查询表中有多少记录
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/YZL40514131/article/details/120938312
今日推荐