vlambda博客
学习文章列表

一看就会的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开始


一看就会的MySQL函数

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


一看就会的MySQL函数

4、流程函数

4.1、if 相关


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

一看就会的MySQL函数

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;

一看就会的MySQL函数



5、其他函数


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

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


一看就会的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):多条数据,最终展示一条数据 --多行函数

一看就会的MySQL函数


2、多行函数会自动忽略null值


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

原表:

一看就会的MySQL函数

查询后结果

一看就会的MySQL函数

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; -- 有多少条记录,展示多少个1select count(1) from emp


select count(1) from emp:查表中有多少记录