单行函数与组函数

1、  单行函数:对所处理的每一个记录都返回一行结果

 

(1)       大小写转换函数——

ØLOWER()将字母全部变成小写;UPPER()将字母全部变成大写;

ØINITCAP()把每个单词的首字母转换为大写,其余转换为小写。

 

(2)       字符处理函数——

ØSUBSTR(要提取的字符串,要提取的起始字符位置,查询中要返回的字符串长度)

ØLENGTH(‘’)返回字符串长度

ØLPAD(将填充的字符串,填充之后的字符串长度,用于填充的符号或字符)在左边填充,RPAD 是在右边填充

ØLTRIM(要处理的数据,将从左侧删除的字符串)RTRIM是从右边删除。

ØREPLACE(将搜索的数据或列,想要查找的字符串s,将替换s的字符串)

ØCONCAT(字符串1,字符串2)串联两列数据

 

(3)       数字函数——

ØROUND(将要舍入的数字数据或字段,应该将数据舍入到得位数)

ØTRUNC(要截断的数字或字段,表示应该对数据进行删除或截断的数字位置)

 

(4)       日期函数——

ØMONTHS_BETWEEN()用来确定两个日期之间的月数

ØADD_MONTHS(计算的起始日期,要增加的月数)

ØNEXT_DAY(开始日期,将要确定的一周中的某一天)

ØTO_DATE(‘2011.03.10’,’YYYY.MM.10’)对日期进行转换

 

(5)       其他函数

ØNVL(表示null值,代替它的值)

ØNVL(xx不是null值时所替换的数据,xnull值时所替换的数据)

ØTO_CHAR(要格式化的日期或数字,使用的格式模型)将日期和数字转化为格式化的字符串,与TO_DATE()相反

ØDECODE(V,L1,R1,L2,R2,…,D)其中V是正搜索的值,L1表示列表中的第一个值,如果L1V相等,那么R1表示将返回的结果,以此类推,如果没有找到相等的值,那么D是将返回额默认结果。

 

 

2、  组函数:也称为多行函数”,它们处理每一组行并返回一个结果。

 

AVG()返回某列的平均值、

COUNT()返回满足条件的记录数、

MAX()返回某列中的最大值、

MIN()返回某列中的最小值、

SUM()返回某列所有数值的和

GROUP BY 子句

1.       如果在select子句中使用一个组函数,那么在select子句中列出的任何单独的列必须在GROUP BY子句中列出。

2.       用来在GROUP BY 子句中分组数据的列不必再select子句中列出

3.       不能在GROUP BY子句中使用列别名。

SELECT  SUM(SAL),DEPTNO  FROM  EMP  GROUP  BY  DEPTNO;

SELECT DEPTNO,SUM(SAL) FROM EMP GROUP BY DEPTNO HAVING SUM(SAL)>10000;

 

3、  如果使用组函数来限制组,那么必须使用HAVING子句,因为WHERE子句中不能包含组函数。组函数只能嵌套两层。同时包含WHEREGROUP BYHAVING子句的情况:

SELECT CATEGORY,

TO_CHAR(AVG(RETAIL-COST),’999.99’)  PROFIT  

FROM BOOKS

WHERE  PUBDATE>’01-1-07’

GROUP BY  CATEGORY

HAVING AVG(RETAIL-COST)>15;

注意执行顺序:

1.       WHERE

2.       GROUP  BY

3.       HAVING

WHERE在分组之前筛选数据,HAVING在分组之后筛选数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值