单行函数与多行函数

 单行函数

单行函数是指对一行数据进行操作返回一条数据的函数,其结果集也只有一个数据。其分类主要按照数据类型进行分类,共分为一下种类

1)字符型:1. 拼接函数:concat(),其作用是将两个字符串进行拼接,起作用与||类似,但是concat只能进行两个字符串的拼接

                    2.截位函数:substr(),其作用是字符串的截取,第一位参数代表字符串,第二位代表截位的起始位,最后以为代表                                          截止位。

                    3.返回字符索引函数:instr(),第一位为字符串,第二位为指定字符。

                    4.替换函数:replace(),替换指定位数的字符,第一位为目标函数,第二位为被替换函数,第三位为新数据。

                    5.去除两端字符函数:trim(目标字符 from 目标数据),去掉目标字符串内的指定字符。

2)字符型:1.四舍五入:round(),首位参数代表目标数据,第二位代表保留位数,第二位可以为负数,代表保留小数点前几位。

                     2.截断函数:trunc(),其用法与四舍五入类似,单不会进行取舍。

                     3.取余函数:mod(被除数,除数),其结果为取到的余数。

3)日期型:1.to_date(‘20010101’,’yyyymmdd’):字符串转换日期类型

                    2.to_char(20010101,’yyyymmdd’):日期类型转换为字符串

在Oracle中标准的日期类型是:日-月-年。

4)功能型:1.decode(value,a,A,c,C,E),该函数用于数据的判断,类似与java中的switch语句,当value的值与a相等时,返回A,当value与c相等时,返回C,否则返回E。

                    2.case语句:case  a when 1 then 执行代码;

                                                      when 2 then 执行代码;

                                                      else    执行代码;

                                                      end;

                     3.nvl(字段,值):该函数可以将该字段内的空值赋成0;

                     4.nvl(字段,值1,值2):该函数可以将该字段内的非空值赋值为1,空值赋成2

聚合函数

聚合函数是指多行数据经过函数处理,返回一行结果,并且可以通过不同的分组条件进行结果集的分组。

1.count()count函数用来计算该字段共有多少条数据,但是在查询中,并不会记录为null的数据,所以得到的数据并不准确,可以通过计算rowid来进行计数(rowid表示伪列),其内存储的是每条数据的物理地址,所以通过统计伪列可以准确的统计表内的数据数量。

2.sum()  sum函数用来计算某个字段内的数据之和,在括号内也可以进行运算,统计出来的结果为括号内的运算结果的和,可以通过分组条件,求组不同组内的和。

3.min() 求某个字段下的最小值,可以通过条件求取不同组内的最小值。

4.max() 求取某个字段下的最大值,可以通过条件求取不同组内的最大值。

5.avg() 求去某个字段的平均值,在求总数时不会计算null,在做除法时也不会算为null的数据,所以一般会与nvl()函数进行连用,保证数据的准确性。

分组函数

当查询当中包含聚合函数,且需要进行分组时(根据某一项将数据分组,例如获取每个班级的最高分即按照班级分组,求出最高分)需要使用聚合函数,分组关键字为group by 分组条件可以是查询内容中的非聚合函数或是表中的其他字段。当聚合函数用在条件当中时,需要将where换为having,其他常规条件仍用where关键字。因group by 在having后会影响排序的效率,所以一般使用如下顺序:select 字段,聚合函数 from 表 where 限制条件 group by 字段 having 聚合函数 order by 字段

猜你喜欢

转载自blog.csdn.net/lwz18642660013/article/details/84284232
今日推荐