函数
┌系统函数┌单行函数┌数值函数
│ │ ├字符函数
│ │ ├日期函数
│ │ ├转换函数
│ │ └通用函数
│ ├聚合函数
│ └分析函数
└用户自定义
学习函数的五大点:
1.函数的名字
2.函数的功能
3.函数的参数个数
4.函数的参数的类型
5.函数返回值的类型
一:数值函数
1.abs(数) 绝对值 返回值:数值型
select abs(100),abs(-100),abs(-0)
from dual
2.mod(数1,数2) 取余 返回值:数值型
数1除以数2的余数
mod取余中数1数2是没有正负情况的,结果的正负情况看数1
如果数1比数2小,结果为数1
如果数2是1,结果为数1的小数部分
如果数2是0,结果为数1
引申用法:求奇偶性,数2为2,返回值是1则表示数1是奇数,返回值是0则表示数1是偶数
select mod(5,2)
from dual
select mod(-5,2)
from dual
select mod(5,-2)
from dual
select mod(-5,-2)
from dual
select mod(3,5)
from dual
select mod(3.14,1)
from dual
select mod(5,0)
from dual
--假设员工编号是奇数的为男生,偶数为女生,查询所有的男员工的员工信息
select *
from emp
where mod(empno,2)=1
--查询128和13的余数
select mod(128,13)
from dual
3.ceil(数) 向上取整 返回值:数值型
4.floor(数) 向下取整 返回值:数值型
select ceil(3.14),floor(3.14),ceil(-3.14),floor(-3.14)
from dual
5.round(数1[,数2]) 四舍五入 返回值:数值型
数1:要进行四舍五入的数
数2:四舍五入保留几位小数,不写默认到整数,不会自动补零
如果数2是正数则表示四舍五入到小数点后数2位,只看紧跟着的一位
如果数2是负数则表示四舍五入到小数点前数2位,看数2那一位
select round(3.15,1),round(3.55),round(1455,-3),round(3.14,3)
from dual
select round(128320,-5),round(3.142568,4),round(1823564,-2)
from dual
--查询员工工资四舍五入之后的结果
select sal,round(sal)
from emp
--查询员工姓名,工资,部门编号,工资是部门编号的多少倍
--(四舍五入保留两位小数)
select ename,sal,deptno,round(sal/deptno,2)
from emp
6.trunc(数1[,数2]) 截断 返回值:数值型 --没有入的四舍五入
数1:要进行截断的数
数2:截断后保留几位小数,不写默认到整数,不会自动补零
如果数2是正数则表示截断到小数点后数2位
如果数2是负数则表示截断到小数点前数2位
select trunc(3.15,1),trunc(3.55),trunc(1455,-3),trunc(3.14,3)
from dual
7.sign(数) 判断正负零 返回值:数值型
正数返回1
负数返回-1
零返回0
select sign(100),sign(-100),sign(0)
from dual
--员工编号比经理编号大的则优秀,小的则一般
--查询所有优秀的员工
select *
from emp
where empno>mgr
select *
from emp
where empno-mgr>0
select *
from emp
where sign(empno-mgr)=1
8.power(数1,数2) 次方和开方 返回值:数值型
数1的数2次方
数2为分数,表示开方,数1开数2次方
select power(2,3),power(2,-3),power(8,1/3)
from dual
--查询工资的(部门编号的1/10)次方 和 员工编号的平方的结果开三次方的商,四舍五入保留两位小数
select round(power(sal,deptno/10)/
power(power(empno,2),1/3),2)
from emp
数值函数┌abs(数) 绝对值 返回值:数值型
├mod(数1,数2) 取余 返回值:数值型
├ceil(数) 向上取整 返回值:数值型
├floor(数) 向下取整 返回值:数值型
├round(数1[,数2]) 四舍五入 返回值:数值型
├trunc(数1[,数2]) 截断 返回值:数值型
├sign(数) 判断正负零 返回值:数值型
└power(数1,数2) 次方和开方 返回值:数值型