您的位置:首页 > 数据库 > Oracle

Oracle函数的使用

2016-09-27 00:03 267 查看
在进行select查询的时候,可以为列指定函数,函数是sql语句中的一个非常有用的特性,oracle内置了用于处理字符,数字,日期及转换的各种函数,使用函数能够执行数据计算,修改列数据的显示,进行分组统计及数据类型的转换等

sql函数分为2大类

1、单行函数:仅对单个行进行计算,并且每行返回一个结果,单行函数包含字符、数字、日期及转换这几种类型

2、多行函数:用来成组操纵数据,每个行组给出一个结果

基本语法格式为:

function_name[(arg1,args2….)]

例如在emp表中,查询出来的ename都为大写字符

select empno,initcap(ename) as ename,hiredate from emp




函数之间还可以嵌套,例如下面的语句使用concat函数连接empno和ename这2列的内容,

select empno,concat(empno,initcap(ename)) as ename,hiredate from emp




对于数字型的值,可以使用四舍五入函数来获取整型结果值,

select empno,concat(empno,initcap(ename)) as ename,hiredate,round(comm) from emp




统计函数


oracle提供的常用的分组函数有6个

sum 函数:计算特定字段的总和

avg函数:计算特定字段中的平均值

min函数:计算特定字段中的最小值

max函数:计算特定字段汇总的最大值

count函数:计算字段中的值得数目

count(*)函数:计算查询结果的记录数

除了count(*)以外,每个函数都接受distinct或者是默认值ALL再加字段名称来获取要统计的列,distinct表忽略行中的重复值,ALL是默认值,表示统计所有行数据,

**

注意:所有组函数忽略空值,为了用一个值代替空值,请使用NVL、NVL2或coalesce函数替换空值为一个具体的值

**

select count(*) 记录数,count(comm) 提出员工数,count(ALL comm) as 提出员工数,
count(distinct job) 职位个数,sum(sal) 薪水总计,sum(comm) 提出总计,
avg(sal) 平均薪水,min(sal) 最低薪资,max(sal) 最高薪资 ,
min(nvl(comm,0)) 最低提成,max(nvl(comm,0)) 最高提成 from emp


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 函数