F.6 分 组 函 数
分组函数返回基于多个行的单一结果,这和单行函数正好形成对比,后者是对单行返回一个结果.这些函数仅仅对于查询的选择列表和GROUP BY子句有效.
这些函数大都可以接受对参数的修饰符.可以使用位置:的修饰符有DISTINCT和ALL.如果使用位置:了DISTINCT修饰符,那么在处理中仅仅会考虑由查询返回的不同的取值.ALL修饰符会使得该函数考虑由查询返回的所有数值.如果没有指定任何修饰符,那么缺省使用位置:的是ALL修饰符. ?
AVG
语法: AVG([DISTINCT? ALL]col) 功能: 返回一列数据的平均值.
使用位置: 查询列表和GROUP BY子句.
? COUNT
语法: COUNT(*? [DISTINCT? ALL] col)
功能: 得到查询中行的数目.如果使用了*获得行的总数.如果在参数中传递的是选择列表,
那么计算的是非空数值.
? 获得由label界定的最大下界.函数仅用于trusted oracle.GLB 语法: GLB ([DISTINCT? ALL]label)
功能: 获得由label界定的最大下界.函数仅用于trusted oracle. 使用位置:trusted数据库的选择列表和GROUP BY子句.
? LUB
语法: LUB ([DISTINCT? ALL]label)
功能: 获得由label界定的最小上界.用于trusted oracle.数据库. 使用位置: trusted数据库的选择列表和GROUP BY子句.
过程性语言和SQL语句。
? MAX
语法: MAX([DISTINCT? ALL]col) 功能: 获得选择列表项目的最大值.
使用位置: 仅用于查询选择和GROUP BY子句. ?
MIN
语法: MIN([DISTINCT? ALL]col)
功能: 获得选择列表的最小值.
使用位置: 仅用于查询选择和GROUP BY子句.
? STDDEV
语法: STDDEV([DISTINCT? ALL]col)
功能: 获得选择列表的标准差.标准差为方差的平方根. 使用位置: 仅用于查询选择和GROUP BY子句. ?
SUM
语法:SUM([DISTINCT? ALL]col) 功能:返回选择的数值和总和
使用位置: 仅用于查询选择和GROUP BY子句.
? VARIANCE
语法: VARIANCE([DISTINCT? ALL]col) 功能:返回选择列表项目的统计方差.
使用位置: 仅用于查询选择和GROUP BY子句.
F.7 其 他 函 数
? BFILENAME
语法: BFILENAME(directory,file_name)
功能: 获得操作系统中与物理文件file_name相关的BFILE位置指示符. directory必须是数据
字典中的DIRECTORY类型的对象. 使用位置: 过程性语言和SQL语句。
? DECODE 语法:
DECODE(base_expr,comparel,valuel,
Compare2,value2, …
default)
功能: 把base_expr与后面的每个compare (n) 进行比较,如果匹配返回相应的value (n) .
如果没有发生匹配,则返回default 使用位置: 过程性语言和SQL语句。 ?
DUMP
语法:DUMP(expr[,number_format[,start_position][,length]])
功能:获得有关expr的内部表示信息的VARCHAR2类型的数值. number_format指定了按照
下面返回数值的基数(base):
number_format 结果
8 八进制表示
10 十进制表示
16 十六进制表示 17 单字符 默认的值是十进制.
如果指定了start_position和length,那么返回从start_position开始的长为length的字节.缺省返回全部.
数据类型按照下面规定的内部数据类型的编码作为一个数字进行返回.
代码 数据类型
1 VARCHAR2
2
NUMBER
8 LONG 12 DATE 23 69 96 106
使用位置: SQL语句. ?
EMPTY_CLOB/EMPTY_BLOB 语法: EMPTY_CLOB
EMPTY_BLOB
功能: 获得一个空的LOB提示符 (locator) .EMOTY_CLOB返回一个字符指示符,而
EMPTY_BLOB返回一个二进制指示符. 使用位置: 过程性语言和SQL语句. ?
GREATEST
RAW ROWID CHAR
MLSLABEL
语法: GREATEST(expr1[,expr2]…)
功能: 计算参数中最大的表达式.所有表达式的比较类型以expr1为准. 使用位置: 过程性语言和SQL语句. ?
GREATEST_LB
语法: GREATEST_LB(label1[,label2]…)
功能: 返回标签(label)列表中最大的下界.每个标签必须拥有数据类型MLSLABEL、
RAWMLSLABEL或者是一个表因字符串文字.函数只能用于truested oracle库. 使用位置: 过程性语言和SQL语句.
? LEAST
语法: LEAST(expr1[,:expr2]…) 功能: 获得参数中最小的表达式. 使用位置: 过程性语言和SQL语句.
? LEAST_UB
语法: LEAST_UB(label1[,label2]…)
功能: 与GREATEST_UB函数相似,本函数返回标签列表的最小上界. 使用位置: 过程性语言和SQL语句.
? NVL
语法: NVL (expr1, expr2)
功能: 如果expr1是NULL,那么返回expr2,否则返回expr1.
如果expr1不是字符串,那么返回值的数据类型和expr1是相同的,否则,返回值的数据类型是VARCHAR2.此函数对于检查并确定查询的活动集不包含NULL值十分有用.
使用位置: 过程性语言和SQL语句. ? UID 语法:
功能: 获得当前数据库用的惟一标识,标识是一个整数. 使用位置: 过程性语言和SQL语句. ?
USER
语法:
功能: 取得当前oracle用户的名字,返回的结果是一个VARCHAR2型字符串. 使用位置: 过程性语言和SQL语句. ?
USERENV
语法: USERENV(option)
功能: 根据参数option,取得一个有关当前会话信息的VARCHAR2数值. 使用位置: 过程性语言和SQL语句.
? VSIZE
语法: VSIZE(value)
功能: 获得value的内部表示的字节数.如果value是NULL,结果是NULL. 使用位置: 过程性语言和SQL语句.
---------------------------------------end-------------------------------------------------