oracle 10g 内置sql函数

来源:互联网 发布:淘宝冬天女鞋韩版 编辑:程序博客网 时间:2024/05/22 15:24

1:ABS
语法:ABS ( n )
用法:返回n的绝对值。
参数:n为数值数据类型,或者可以隐式转化为数值类型的其他数据类型.

2:ACOS
语法:ACOS ( n )
用法:返回n的反余弦值。n的值必须在-1到1之间;

3:ADD_MONTHS
语法:ADD_MONTHS ( date,integer )
用法:返回date加上integer个月后的日期。

4:ASCII
语法:ASCII ( char )
用法:返回char的第一个字符在数据库字符集中的十进制表示。
参数:char可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,或者能转化成它们的其他数据类型。

5:ASCIISTR
语法:ASCIISTR ( char )
用法:返回字符串char在数据库字符集中的ASCII版本。非ASCII字符将会转化成\XXXX的格式,其中XXXX是UTF-16编码单元。

6:ASIN
语法:ASIN ( n )
用法:返回n的反正弦值。n必须在-1到1之间。返回值的范围在-pi/2到pi/2。

7:ATAN
语法:ATAN ( n )
用法:返回n的反正切值。n的取值没有范围;而返回值的范围在-pi/2到pi/2之间。

8:ATAN2
语法:ATAN2 ( n1, n2 )
用法:返回n1与n2的反正切值。等同于ATAN(n1/n2)。

9:AVG
语法:AVG ( [DISTINCT|ALL]expr )
用法:返回expr的平均值。

10:BFILENAME
语法:BFILENAME ('directory', 'filename' )
用法:返回一个关于directory和filename的BFILE定位器。
参数:directory是一个DIRECTORY对象。filename是服务器文件系统的一个文件名。

11:BIN_TO_NUM
语法:BIN_TO_NUM ( expr [,expr, ...] )
用法:将字节向量转化成等值的NUMBER。
参数:每个expr不是0就是1。

12:BITAND
语法:BITAND ( expr1,expr2 )
用法:返回expr1与expr2进行位与运算的结果。
参数:expr1和expr2都是NUMBER,结果也是NUMBER。如果其中一个参数为NULL,结果也为NULL。

13:CARDINALITY
语法:CARDINALITY (nested_table )
用法:返回内嵌表中元素的个数。
参数:返回值的类型是NUMBER。如果内嵌表是空的,或者是一个null集合,则返回NULL。

14:CAST
语法:CAST ( { expr | MULTISET ( subquery ) } AS type_name )
用法:将一种内置的数据类型或集合类型转化成另一种内置的数据类型或集合类型。CAST不支持LONG,LONG RAW。
参数:数据类型可以为BINARY_FLOAT,BINARY_DOUBLE,CHAR,VARCHAR2,NUMBER,DATETIME,INTERVAL,RAW,ROWID,UROWID,NCHAR,NVARCHAR2。
 
15:CEIL
语法:CEIL ( n )
用法:返回大于或等于n的最小整数。
参数:n可以为任意数值类型或可以隐式转化成数值的其他类型。返回值的类型与参数的数据类型相同。

16:CHARTOROWID
语法:CHARTORO WID ( char )
用法:将CHAR,VARCHAR2,NCHAR或NVARCHAR2的数据类型转换成ROWID数据类型。

17:CHR
语法:CHR ( n [ USINGNCHAR_CS ] )
用法:返回拥有二进制编码n的字符,如果使用NCHAR_CS,就使用数据库字符集。对于单字节字符集,如果n大于256,那么会先进行n mod 256取余数的操作。
参数:n是一个NUMBER类型的值,或者可以转化成NUMBER的其他类型的值。返回值是一个字符。

18:COALESCE
语法:COALESCE ( { expr [,expr ] ... } )
用法:返回第一个非NULL的值,至少有两个expr。
参数:expr的数据类型必须一致。

19:COMPOSE
语法:COMPOSE ( char )
用法:将参数的字符串转化成相同字符集下的Unicode字符串。
参数:char可以为CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB。

20:CONCAT
语法:CONCAT ( char1,char2 )
用法:返回值是char1连接char2,效果与连接符||一样。
参数:char1和char2可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB。

21:CONVERT
语法:CONVERT ( char,dest_char_set [, source_char_set ] )
用法:char从字符集source_char_set转成dest_char_set。CHAR和VARCHAR2的返回值是VARCHAR2;NCHAR和NVARCHAR2的返回值是NVARCHAR2;CLOB的返回值是CLOB;NCLOB的返回值是NCLOB。
参数:char可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB和NCLOB。

22:CORR
语法:CORR ( expr1, expr2)
用法:返回一组数值对的相对系数。

23:COS
语法:COS ( n )
用法:返回n的余弦值。
参数:n可以为任意数值类型或可以转化成数值的其他类型。如果n是BINARY_FLOAT,那么返回值是BINARY_DOUBLE;否则返回值类型与参数类型一样。

24:COUNT
语法:COUNT ( { * } | { [DISTINCT | ALL ] expr } )
语法:返回查询结果的行数。如果指定了expr,将返回expr不为NULL的行数。DISTINCT会排除重复的行;ALL包含重复的行。指定‘*’时,会返回所有的行,包括重复的和NULL的行。COUNT永远不会返回NULL。

25:CURRENT_DATE
语法:CURRENT_DATE
用法:返回会话时区的当前日期时间(使用Gregorian日历)。

26:CURRENT_TIMESTAMP
语法:CURRENT_TIMESTAMP (precision )
用法:返回会话时区的当前日期和时间,包括小数秒。返回值类型是TIMESTAMP WITH TIME ZONE。如果没有指定precision,默认为6。LOCALTIMESTAMP和CURRENT_TIMESTAMP之间的区别是LOCALTIMESTAMP返回一个TIMESTAMP类型的值,而CURRENT_TIMESTAMP返回一个TIMESTAMP WITH TIME ZONE类型的值。

27:DBTIMEZONE
语法:DBTIMEZONE
用法:返回数据库的时区,格式为‘[+|-]TZH:TZM’或者时区名。

28:DECODE
语法:DECODE ( expr, {search, result [, ...] } [, default] )
用法:DECODE比较每个expr的值,如果expr等于其中一个search,那么返回相应的result。如果没有匹配的值,返回default。如果没有default,返回NULL。在DECODE中,Oracle认为两个NULL是匹配的,所以如果expr是NULL,就会返回第一个为NULL的search的相应的result。DECODE函数中,包括expr,search,result和default,一共可以有255个组件。
参数:参数必须是数值或字符类型。

29:DEREF
语法:DEREF ( expr )
用法:返回参数expr的对象引用,expr必须返回一个对象的REF。如果在查询中没有使用这个函数,Oracle会返回该REF的对象ID。

30:DUMP
语法:DUMP ( expr [,return_fmt [, start_position [, length ] ] ] )
用法:返回expr的数据类型编码,字节长度和内部表示。它总是以数据库字符集来返回结果的。return_fmt有以下类型:8表示8进制,10表示10进制,16表示16进制,17表示如果能解析成可打印的字符则返回字符,否则返回16进制码。默认地,返回值不包含字符集的信息。要显示字符集信息,在上面代码的基础上加上1000。
参数:start_position表示开始位置;length表示要解析的长度。

31:EXP
语法:EXP ( n )
用法:返回自然对数e的n次方。

32:EXTRACT (datetime)
语法:EXTRACT ( { YEAR |MONTH | DAY | HOUR | MINUTE | SECOND | TIMEZONE_HOUR | TIMEZONE_MINUTE |TIMEZONE_REGION | TIMEZONE_ABBR } FROM expr )
用法:返回日期或间隔的特定部分的值。如果是YEAR或MONTH,expr必须是DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL YEAR TO MONTH;如果是DAY,expr必须是DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL DAY TO SECOND;如果是HOUR,MINUTE或SECOND,expr必须是TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL DAY TO SECOND;如果是TIMEZONE_HOUR,TIMEZONE_MINUTE,TIMEZONE_ABBR,TIMEZONE_REGION或TIMEZONE_OFFSET,expr必须是TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE。
EXTRACT处理DATE时,使用ANSI DATE,不包含HOUR,MINUTE,SECOND。

33:FLOOR
语法:FLOOR ( n )
用法:返回小于或等于n的最大整数。
参数:n可以为任意数值类型或可以隐式转化成数值的其他类型。返回值的类型与参数的数据类型相同。

34:FROM_TZ
语法:FROM_TZ (timestamp_value, time_zone_value )
用法:将一个TIMESTAMP值和一个时区转化为一个TIMESTAMP WITH TIME ZONE值。
参数:time_zone_value是一个格式为‘TZH:TZM’的字符串或能返回一个TZR的字符串。

35:GREATEST
语法:GREATEST ( { expr [,expr ... ] } )
用法:返回一个或多个表达式中的最大值。返回值的类型由第一个expr决定。在比较前,将其余的expr转化成第一个expr的类型再进行比较。默认地,比较是使用nonpadded语义的、二进制的。可以通过NLS_COMP和NLS_SORT参数来改变默认行为。

36:GROUPING
语法:GROUPING ( expr )
用法:GROUPING可以将超聚合行从常规分组行中区分出来。GROUP BY的扩展ROLLUP和CUBE会产生超聚合行,使用GROUPING可以将其区分出来。
参数:expr必须是GROUP BY中的表达。如果expr在行中的值为NULL,则返回1,否则返回0。

37:GROUPING_ID
语法:GROUPING_ID ( expr )
用法:返回一行中相关GROUPING字节向量的数值。GROUPING_ID只有在GROUP BY ROLLUP或CUBE中,并且和GROUPING函数一起使用。

38:HEXTORAW
语法:HEXTORAW ( char )
用法:将包含16进制数字的char转化为RAW值。
参数:char可以是CHAR,VARCHAR2,NCHAR或NVARCHAR2。不直接支持CLOB,但传进来的CLOB会先进行隐式转化。

39:INITCAP
语法:INITCAP ( char )
用法:将char转化成每个单词首字母大写,其他字母小写的形式。单词是由空格或其他非字母数字字符来间隔。
参数:char可以为CHAR,VARCHAR2,NCHAR或NVARCHAR2,返回值类型与char相同。

40:INSTR
语法:INSTR ( string,substring [, position [, occurrence ] ] )
用法:在string中,从position开始搜索substring,返回第occurrence次匹配的位置。如果没找到,返回0。position和occurrence的默认值是1。当position为负数时,表示从string的后面开始向前搜索。

41:LAST_DAY
语法:LAST_DAY ( date )
用法:返回date所在月份的最后一天。

42:LEAST
语法:LEAST ( { expr [,expr ... ] } )
用法:返回一个或多个表达式中的最小值。返回值的类型由第一个expr决定。在比较前,将其余的expr转化成第一个expr的类型再进行比较。默认地,比较是使用nonpadded语义的、二进制的。可以通过NLS_COMP和NLS_SORT参数来改变默认行为。

43:LENGTH
语法:LENGTH ( char )
用法:返回字符串char的长度。

44:LN
语法:LN ( n )
用法:返回n的自然对数。
参数:n必须大于0。

45:LOCALTIMESTAMP
语法:LOCALTIMESTAMP ( timestamp_pecision)
用法:以会话时区返回当前日期时间。它与CURRENT_TIMESTAMP的区别是,LOCALTIMESTAMP返回类型为TIMESTAMP,CURRENT_TIEMSTAMP返回类型为TIMESTAMP WITH TIME ZONE。
参数:timestamp_pecision指定小数秒,默认为6。

46:LOG
语法:LOG ( n1, n2 )
用法:返回以n1为底的n2的对数。
参数:底n1为任意正数,除了0和1。n2可以为任意正数。

47:LOWER
语法:LOWER ( char )
用法:返回字符串的小写形式。

48:LPAD
语法:LPAD ( expr1, n [,expr2 ] )
用法:返回长度为n的expr1字符串。如果expr1的长度小于n,则用expr2左填充expr1到长度n为止;expr2默认为一个空格符。如果expr1的长度大于n,截取expr1前n个字符返回。

49:LTRIM
语法:LTRIM ( char [, set] )
用法:删除char从左边开始的包含在set中的字符,直到遇到第一个不再set中的字符。set默认是空格符。

50:MAX
语法MAX ( expr )
用法:聚合函数,返回所有行中expr的最大值。

51:MEDIAN
语法:MEDIAN ( expr )
用法:聚合函数,返回所有行中expr的中位数。
参数:expr只能是数值类型或日期时间类型。

52:MIN
语法:MIN ( expr )
用法:聚合函数,返回所有行中expr的最小值。

53:MOD
语法:MOD ( n2, n1 )
用法:返回n2除以n1后的余数。如果n1为0,则返回n2。

54:MONTHS_BETWEEN
语法:MONTHS_BETWEEN ( date1,date2 )
用法:返回date1和date2之间的月份数。如果date1比date2晚,结果为正数;如果date1比date2早,结果为负数。如果date1和date2是该月中的相同日期,或者是该月中的最后一天,那么结果是整数,否则结果具有小数部分。

55:NANVL
语法:NANVL ( n2, n1 )
用法:该函数只对BINARY_FLOAT和BINARY_DOUBLE起作用。如果n2为NaN(不是数值),返回n1;否则返回n2。

56:NEXT_DAY
语法:NEXT_DAY ( date,char )
用法:返回date之后的第一个由char表示的星期几。返回值类型是DATE。

57:NULLIF
语法:NULLIF ( expr1,expr2 )
用法:比较expr1和expr2,如果相等,返回NULL,否则返回expr1。expr1不能是NULL的字面量。

58:NUMTODSINTERVAL
语法:NUMTODSINTERVAL ( n,'interval_unit' )
用法:将数值n转化为INTERVAL DAY TO SECOND类型。
参数:interval_unit必须为DAY,HOUR,MINUTE或SECOND。

59:NUMTOYMINTERVAL
语法:NUMTOYMINTERVAL ( n,'interval_unit' )
用法:将数值n转化为INTERVAL YEAR TO MONTH类型。
参数:interval_unit必须为YEAR或MONTH。

60:NVL
语法:NVL ( expr1, expr2 )
用法:如果expr1为NULL,返回expr2,否则返回expr1。
参数:如果expr1和expr2的数据类型不同时,Oracle将进行隐式转化。如果不能转化,Oracle会返回一个错误。

61:NVL2
语法:NVL2 ( expr1, expr2,expr3 )
用法:如果expr1不为null,则返回expr2,否则返回expr3。
参数:expr1可以为任意数据类型;而expr2和expr3,除了LONG,可以为任意数据类型。

62:POWER
语法:POWER ( n2, n1 )
用法:返回n2的n1次方。n2和n1可以是任意数值,但当n2为负数时,n1必须是整数。

63:RAWTOHEX
语法:RAWTOHEX ( raw )
用法:将raw转化成16进制表示的字符串。

64:REGEXP_COUNT
语法:REGEXP_COUNT (source_char, pattern [, position [, match_param]] )
用法:以正则表达式搜索并返回模式pattern在source_char中出现的次数。
参数:pattern最多可以有512字节,如果其数据类型与source_char不同,Oracle会将pattern转化为source_char的数据类型。REGEXP_COUNT会忽略pattern中的子表达式的括号,如pattern'(123(45))'等于'12345'。position表示从source_char的第几位开始搜索,默认为1。match_param可以改变匹配行为,如i表示不区分大小写;c表示区分大小写;n表示'.'可以匹配换行符;m可以将source_char作为多行处理;x表示忽略空格符。如果指定了矛盾的两个值,如'ic',Oracle会取后一个值。如果指定其他不在此范围的值,Oracle会报错。如果忽略match_param,默认的大小写模式由NLS_SORT参数决定;'.'不能匹配换行符;source_char是单行模式。

65:REGEXP_INSTR
语法:REGEXP_INSTR (source_char, pattern [, position [, occurrence [, return_opt [, match_param [,subexpr ] ] ] ] ] )
用法:以正则表达式搜索,返回匹配pattern的位置,可能是匹配子字符串的开始或结束位置,由参数return_option决定。如果没有匹配,返回0。
参数:相同的参数可以参考REGEXP_COUNT。occurrence表示搜索匹配的第几次,如果大于1,则从第一次匹配后的第一字符开始搜索第二次匹配。这个行为与INSTR不同,INSTR是从第一次匹配的第二个字符开始搜索第二次匹配。return_option默认为0,表示返回匹配的第一个字符的位置,即匹配的开头;如果为1,则返回匹配之后的位置,即匹配的结尾。subexpr的范围是从0到9,表示匹配的子模式,如'0123(((abc)(de)f)ghi)45(678)'中,有5个子模式,"abcdefghi","abcdef","abc","de","678"。如果subexpr为0,则返回匹配整个模式的位置,如果大于0,则返回匹配整个模式中相应的子模式的位置。如果subexpr为NULL,则返回NULL。默认值为0。

66:REGEXP_LIKE
语法:REGEXP_LIKE (source_char, pattern [, match_param] )
用法:以正则表达式搜索模式pattern,找到则返回true,否则返回false。
参数:参考REGEXP_COUNT和REGEXP_INSTR。

67:REGEXP_REPLACE
语法:REGEXP_REPLACE (source_char, pattern [, replace_string [, position [, occurrence [, match_param] ] ] ] )
用法:以正则表达式搜索并替换pattern为replace_string。
参数:replace_string可以包含子模式的引用\n,n从1到9。如果没有提供replace_string,则删除source_char中匹配到的pattern。其他参数参考REGEXP_COUNT和REGEXP_INSTR。

68:REGEXP_SUBSTR
语法:REGEXP_SUBSTR (source_char, pattern [, position [, occurrence [, match_param [, subexpr ] ] ]] )
用法:以正则表达式搜索并截取字符串,匹配原理与REGEXP_INSTR相似。
参数:参数REGEXP_INSTR。

69:REMAINDER
语法:REMAINDER ( n2, n1 )
用法:返回n2除以n1后的余数,计算原理可以参考MOD。
参数:如果n1=0或者n2=无线,那么当参数是NUMBER时,Oracle返回一个错误,当参数是BINARY_FLOAT或BINARY_DOUBLE时,返回NaN。

70:REPLACE
语法:REPLACE ( char,search_string [, replacement_string ] )
用法:将char中的所有search_string替换成replacement_string。如果忽略replacement_string或为NULL,那将删除char中的所有search_string。

71:ROUND(date)
语法:ROUND ( date [, fmt] )
用法:返回关于格式fmt的完整日期。fmt默认为DAY。

72:ROUND(NUMBER)
语法:ROUND ( n [, integer] )
用法:返回四舍五入后的n。计算原理是如果n为0,总是返回0;如果n为正数,则返回FLOOR(n * POWER(10, integer) + 0.5) *POWER(10, -integer);如果n为负数,则返回-ROUND(-n, integer)。
参数:n的默认值为0,当n大于0时,表示小数点右边进行四舍五入;当n小于0时,表示小数点左边进行四舍五入。

73:ROWIDTOCHAR
语法:ROWIDTOCHAR ( rowid)
用法:将rowid转化为VARCHAR2数据类型,长度为18字符。

74:RPAD
语法:RPAD ( expr1, n [,expr2 ] )
用法:返回长度为n的expr1字符串。如果expr1的长度小于n,则用expr2右填充expr1到长度n为止;expr2默认为一个空格符。如果expr1的长度大于n,截取expr1前n个字符返回。

75:RTRIM
语法:RTRIM ( char [, set] )
用法:删除char从右边开始的包含在set中的字符,直到遇到第一个不再set中的字符。set默认是空格符。

76:SESSIONTIMEZONE
语法SESSIONTIMEZONE
用法:返回当前会话的时区。

77:SIGN
语法:SIGN ( n )
用法:返回n的符号。对于NUMBER,当n<0时,返回-1;当n=0时,返回0;当n>0时,返回1。对于BINARY_FLOAT或BINARY_DOUBLE,但n<0时,返回-1;当n>=0或n=NaN时,返回1。

78:SIN
语法:SIN ( n )
用法:返回n的正弦值。

79:SOUNDEX
语法:SOUNDEX ( char )
用法:返回char的语音表示字符。规则是保留第一个字符,删除剩余的aehiouwy中的字符;映射bfpv=1,cgjkqsxz=2,dt=3,l=4,mn=5,r=6;相邻的语音字符相同,则删除重复的一个;最后返回4位语音字符,不足4位,用0右填充。

80:SQRT
语法:SQRT ( n )
用法:返回n的平方根。如果n为NUMBER,那么n不能为负数。如果n为BINARY_FLOAT或BINARY_DOUBLE,那么n>=0,返回正数;n=-0,返回-0;n<0,返回NaN。

81:STDDEV
语法:STDDEV ( [ DISTINCT| ALL ] expr )
用法:返回expr的标准差。

82:SUBSTR
语法:SUBSTR ( char,position [, substring_length ] )
用法:从char中position开始截取长度为substring_length的字符串。如果position为0,则改成1;如果position为正数,则从char的左边开始数;如果position为负数,则从char的右边开始数。如果substring_length忽略,则截取到char的最后。

83:SUM
语法:SUM ( [ DISTINCT |ALL ] expr )
用法:计算expr的总和。

84:SYS_CONNECT_BY_PATH
语法:SYS_CONNECT_BY_PATH( column, char )
用法:只在分级查询中有效,返回column从根到节点的路径,以char分隔。

85:SYS_CONTEXT
语法:SYS_CONTEXT ('namespace', 'parameter' [, length ] )
用法:返回当前上下文的namespace中,parameter的值。Oracle提供了一个内置的namespace是USERENV。
参数:length默认为256,可选范围是1至4000字节。如果不在此范围,Oracle会忽略它并使用默认值。

86:SYS_EXTRACT_UTC
语法:SYS_EXTRACT_UTC (datetime_with_timezone )
用法:返回datetime_with_timezone的协调世界时。

87:SYS_GUID
语法:SYS_GUID ()
用法:返回一个GUID。

88:SYSDATE
语法:SYSDATE
用法:返回数据库系统的当前日期时间。

89:SYSTIMESTAMP
语法:SYSTIMESTAMP
用法:返回数据库系统的当前日期时间,包括小数秒和时区信息。

90:TAN
语法:TAN ( n )
用法:返回n的正切值。

91:TIMESTAMP_TO_SCN
语法:TIMESTAMP_TO_SCN (timestamp )
用法:根据timestamp返回一个最接近的SCN。

92:TO_BINARY_DOUBLE
语法:TO_BINARY_DOUBLE (expr [, fmt [, 'nlsparam' ] ] )
用法:返回一个双精度浮点数。从字符串转化成BINARY_DOUBLE是不精确的;从BINARY_FLOAT转化成BINARY_DOUBLE是精确的。
参数:expr可以是字符串或数值型,如NUMBER,BINARY_FLOAT,BINARY_DOUBLE。如果expr是BINARY_DOUBLE,返回expr。只有expr是字符串时,fmt和nlsparam才可用。'INF'(不分大小写)转化成正无限;'-INF'(不分大小写)转化成负无限;'NaN'转化成NaN(不是数值)。在expr中不能使用浮点数格式化元素(F,f,D,d)。

93:TO_BINARY_FLOAT
语法:TO_BINARY_FLOAT (expr [, fmt [, 'nlsparam' ] ] )
用法:返回一个单精度浮点数。从字符串转化成BINARY_FLOAT是不精确的;如果BINARY_DOUBLE的精度超过BINARY_FLOAT,则从BINARY_DOUBLE转化成BINARY_FLOAT是不精确的。
参数:expr可以是字符串或数值型,如NUMBER,BINARY_FLOAT,BINARY_DOUBLE。如果expr是BINARY_FLOAT,返回expr。只有expr是字符串时,fmt和nlsparam才可用。'INF'(不分大小写)转化成正无限;'-INF'(不分大小写)转化成负无限;'NaN'转化成NaN(不是数值)。在expr中不能使用浮点数格式化元素(F,f,D,d)。

94:TO_BLOB
语法:TO_BLOB ( raw_value )
用法:将LONG RAW和RAW转化成BLOB。

95:TO_CHAR(CHARACTER)
语法:TO_CHAR ( { nchar |clob | nclob } )
用法:将NCHAR,NVARCHAR2,CLOB或NCLOB转化成数据库字符集,返回值总是VARCHAR2类型。当LOB的长度超过VARCHAR2的最大长度时,Oracle会返回一个错误。

96:TO_CHAR(DATETIME)
语法:TO_CHAR ( { datetime| interval } [, fmt [, 'nlsparam' ] ] )
用法:将DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL DAY TO SECOND,INTERVAL YEAR TO MONTH转化成格式为fmt的VARCHAR2类型。如果忽略fmt,将以下面的规则进行处理:DATE转化成默认的日期格式;TIMESTAMP和TIMESTAMP WITH LOCAL TIME ZONE转化成默认的时间戳格式;TIMESTAMP WITH TIME ZONE转化成默认的时间戳加时区的格式;INTERVAL值转化成数字代表的格式。
参数:nlsparam可以指定会话的语言,如NLS_DATE_LANGUAGE=language。

97:TO_CHAR(NUMBER)
语法:TO_CHAR ( n [, fmt[, 'nlsparam' ] ] )
用法:将数值n转化成格式是fmt的VARCHAR2。如果n是负数,负号会放在格式化的字符串之前,如TO_CHAR(-1, '$9')返回-$1,而不是$-1。
参数:nlsparam可以指定小数点、千分位、货币符号(Local和International)。如NLS_NUMERIC_CHARACTERS='dg',NLS_CURRENCY='text',NLS_ISO_CURRENCY=territory。

98:TO_CLOB
语法:TO_CLOB ( {lob_column | char } )
用法:将LOB字段中或字符串中的NCLOB值转化为CLOB值。

99:TO_DATE
语法:TO_DATE ( char [,fmt [, 'nlsparam' ] ] )
用法:将字符串char转化成DATE。
参数:fmt指定了char的时间格式。如果忽略fmt,就使用默认的时间格式。默认的时间格式有NLS_TERRITORY隐式决定,或由NLS_DATE_FORMAT显示决定。如果fmt是J,代码是Julian,那么char必须是整数。nlsparam可以指定字符串的语言,如NLS_DATE_LANGUAGE=language。

100:TO_DSINTERVAL
语法:TO_DSINTERVAL ( '{[+|-] days hours : minutes : seconds [, frac_secs ] | [-] P [ days D ] [ T [hours H ] [ minutes M ] [ seconds [, frac_secs ] S ] }'
用法:将字符串转化成INTERVAL DAY TO SECOND。TO_DSINTERVAL可以接受两种类型的格式,SQL标准和ISO标准。对于SQL标准,days范围是0~999999999;hours范围是0~23;minutes和seconds是0~59;frac_secs是.0~.999999999。对于ISO标准,days、hours、minutes和seconds的范围是0~999999999;frac_secs是.0~.999999999;格式中不能有空格符;如果指定了T,必须至少指定hours、minutes或seonds中的一个。

101:TO_MULTI_BYTE
语法:TO_MULTI_BYTE ( char)
用法:将char中的单字节转化为对应的多字节字符。

102:TO_NUMBER
语法:TO_NUMBER ( expr [,fmt [, 'nlsparam' ] ] )
用法:将expr转化成NUMBER类型。
参数:参考TO_CHAR(number)。

103:TO_SINGLE_BYTE
语法:TO_SINGLE_BYTE (char )
用法:将char中多字节字符转成相应的单字节字符。

104:TO_TIMESTAMP
语法:TO_TIMESTAMP ( char[, fmt [, 'nlsparam' ] ] )
用法:将字符串char转换成TIMESTAMP数据类型。
参数:参考TO_CHAR(DATE)函数。

105:TO_TIMESTAMP_TZ
语法:TO_TIMESTAMP_TZ (char [, fmt [, 'nlsparam' ] ] )
用法:将字符串char转化成TIMESTAMP WITH TIME ZONE类型。
参数:参考TO_CHAR(DATE)函数。

106:TO_YMINTERVAL
语法:TO_YMINTERVAL ( '{[+|-] years - months | [-]P [ years Y ] [ months M ] }' )
用法:将字符串转化成INTERVAL YEAR TO MONTH。参数有两种,一种是SQL标准,另一种是ISO标准。ISO标准需要可以指定days、hours、minutes和seconds,但不起作用。

107:TRANSLATE
语法:TRANSLATE ( expr,from_string, to_string )
用法:将expr中from_string中的字符替换成to_string中的相应字符。当from_string包含的字符多于to_string,没有对应的字符就删除其在expr中的字符。如果一个字符在from_string中出现多次,只替换成第一个相应的字符。

108:TRIM
语法:TRIM ( [ { { LEADING| TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source )
用法:删除trim_source中开头或结尾的trim_character中的字符。如果指定了LEADING,表示从开头删除;如果指定了TRAILING,表示从结尾删除;如果指定了BOTH,表示从两头删除。如果没有指定trim_source,默认是空格符。如果只指定了trim_source,表示删除两头的空格符。trim_character只能是一个字符。

109:TRUNC(DATE)
语法:TRUNC ( date [, fmt] )
用法:截取掉有fmt指定的日期部分。

110:TRUNC(NUMBER)
语法:TRUNC ( n1 [, n2 ] )
用法:将n1截取到小数点的n2位置。如果n2>0,从小数点右边截取;如果n1<0,从小数点左边截取。

111:UID
语法:UID
用法:返回当前用户的话会ID。

112:UPPER
语法:UPPER ( char )
用法:将char中字符串转化为大写字母。

113:USER
语法:USER
用法:返回当前用户的名称。

114:USERENV
语法:USERENV ('parameter' )
用法:返回关于当前会话的信息。
参数:parameter可以是CLIENT_INFO,ENTRYID,ISDBA,LANG,LANGUAGE,SESSIONID,SID,TERMINAL。

115:VARIANCE
语法:VARIANCE ( [DISTINCT | ALL ] expr )
用法:返回expr表达式的方差。

116:APPENDCHILDXML
语法:APPENDCHILDXML(XMLTYPE_instance,XPath_string,value_expr)
用法:在指定节点的最尾加入新的节点
参数:XMLType_instance是XMLType实例,Xpath_string是XML节点路径,value_expr是指定的一个或多个XMLType的节点

117:COSH
语句:COSH(n)
用法:cosh是双曲余弦函数,n表示要求双曲余弦的任意实数

118:COVAR_POP
语句: COVAR_POP(list_price, min_price)
用法:返回一对表达式的总体协方差

119:COVAR_SAMP
语句:COVAR_SAMP(list_price, min_price)
用法:返回一对表达式的样本协方差

120:CUME_DIST
语法:CUME_DIST( ) OVER ( window-spec )
用法:返回值介于0和1之间的 DOUBLE 值。该数表示计算一行在组中的相对位置,用于求累计分布的结果集
window-spec可以是 ORDER BY 子句 PARTITION BY 子句,但不能是 ROWS 或 RANGE 子句

121:DENSE_RANK
语法:DENSE_RANK() OVER (window-spec)
用法::根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置

122:FIRST
语法:完整的语法需要在开始处加上一个集合函数以从中取出记录
用法:从DENSE_RANK返回的集合中取出排在最前面的一个值的行

123:FIRST_VALUE
语法:FIRST_VALUE(last_name)
用法:返回组中数据窗口的第一个值。

124:LAG
语法:lag (field, N) over (order-by-clause)
用法:lag分析函数用来查找当前行的下N行的记录,如果要查找当前行的上N行使用lead

125:Lead
语法:lead (field, N) over (order-by-clause)
用法:lead分析函数用来查找当前行的上N行的记录,如果要查找当前行的下N行使用lag

126:EXISTSNODE
语法:EXISTSNODE(XMLType _instrance ,Xpath_string)
用法:使用xpath_string中的路径 确定xmltype_instrance标识的xml文档是否返回任何节点,如果没返回节点就为0,有节点就大于0;

127:EXTRACT
语法:EXTRACT(XMLType_instrance,Xpath_string)
用法:应用Xpath_string之后,返回xmltype_instrance标识的xml文档的一部分

128:SINH
语法:SINH(N)
用法:返回N的双曲正弦

129:TANH
语法:TANH(N)
用法:返回N的双曲正切

130:WIDTH_BUCKET
语法:WIDTH_BUCKET(x,min,max,num_buxkets)
用法:根据输入参数创建等长的段 ,min到max被分成num_buckets节,返回值是x所在的那一节

131:TZ_OFFSET
语法:TZ_OFFSET(timezone)
用法:返回提供的timezone和utc之间的偏移量

132:REFTOHEX
语法:REFTOHEX(refvalue)
用法:返回refvalue的十六进制表示

133:DELETEXML
语法:DELETEXML(XMLTYPE_instance, XPath_string)
用法:删除节点

134:INSERTCHILDXML
语法:INSERTCHILDXML(XMLTYPE_instance,XPath_string,value_expr)
用法:在指定的节点后面添加相同类型的新节点

135:INSERTXMLBEFORE
语法:INSERTXMLBEFORE(XMLTYPE_instance,XPath_string,value_expr)
用法:在指定的节点前添加新节点

136:DEPTH
语法:DEPTH(n)
用法:该函数用于返回XML方案中UNDER_PATH路径所对应的相对层数,n是相对层数

137:UPDATEXML
语法:UPDATEXML(XMLType_instance,Xpath_string,value_expr)
用法:该函数用于更新特定XMLType实例相应的节点路径的内容。其中参数XMLType_instance用于指定XMLType实例,Xpath_string用于指定XML节点路径,value_expr用于指定新值

138:XMLAGG
语法:XMLAGG(XMLType_instance[ORDER BY sort_list])
用法:该函数用于汇总多个XML块,并生成XML文档,其中参数XMLType_instance用于指定XMLType实例,sort_list用于生成指定的排序方式

139:PATH
语法:PATH(correction_integer)
用法:该函数用于返回特定XML资源所对应的相对路径,参数correction_integer用于指定路径层数

140:XMLCOLATTVAL
语法:XMLCOLATTVAL(value_expr[,value_expr2],...)
用法:该函数用于生成XML块,参数value_expr用于指定列名或者别名作为属性名

150:XMLCONCAT
语法:XMLCONCAT(XMLType_instance1[,XMLType_instance2],...)
用法:用于连接多个XMLType实例,并生成新的XMLType实例。参数XMLType_instance用于指定XML实例。

151:XMLELEMENT
语法:XMLELEMENT(identifier[,xml_attribute_clause][,value_expr])
用法:该函数用于返回XMLType的实例。其中参数identifier用于指定元素名,参数xml_attribute_clause用于指定元素属性子句,参数value_expr用于指定元素值。

152:XMLFOREST
语法:XMLFOREST(value_expr1[,value_expr2],...)
用法:该函数用于返回XML块

153:XMLSEQUENCE
语法:XMLSEQUENCE(xmltype_instance)
用法:该函数用于返回XMLType实例中顶级节点以下的VARRAY元素

154:XMLTRANSFORM
语法:XMLTRANSFORM(xmltype_instance,xsl_ss)
用法:该函数用于将XMLType实例按照XSL样式进行转换,并生成新的XMLType实例

155:VAR_POP
用法:该函数返回非空集合的总体变量(忽略null)

156:VAR_SAMP
用法:该函数返回非空集合的样本变量(忽略null)

157:STDDEV_POP
用法:该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同

158:STDDEV_SAMP
用法: 该函数计算累积样本标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同

159:RANK
用法:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按ORDER BY子句排序

160:LAST_VALUE
语法:LAST_VALUE(last_name)
用法:返回组中数据窗口的最后一个值。

161:PERCENT_RANK
用法:和CUME_DIST(累积分配)函数类似,对于一个组中给定的行来说,在计算那行的序号时,先减1,然后除以n-1(n为组中所有的行数)。该函数总是返回0~1(包括1)之间的数。

162:PERCENTILE_DISC
用法:返回一个与输入的分布百分比值相对应的数据值,分布百分比的计算方法见函数CUME_DIST,如果没有正好对应的数据值,就取大于该分布值的下一个值。
注意:本函数与PERCENTILE_CONT的区别在找不到对应的分布值时返回的替代值的计算方法不同

163:PERCENTILE_CONT
用法:返回一个与输入的分布百分比值相对应的数据值,分布百分比的计算方法见函数PERCENT_RANK

164:EMPTY_BLOB()
用法:函数都是用来对大数据类型字段进行初始化操作的函数
Oracle的LOB类型分为三种:BLOB,CLOB和BFILE。CLOB称为字符LOB,BLOB和BFILE是用来存储二进制数据的。CLOB和BLOB的最大长度是4GB,它们把值存放在Oracle数据库中。

165:EMPTY_CLOB()
用法:这个函数用于初始化CLOB变量或在插入和更新时初始化CLOB列,通常被用于insert和update等语句以初始化lob列,或者将其置为空。EMPTY表示LOB已经被初始化,只不过还没有用来存储数据。

166:NLS_INITCAP
语法:NLS_INITCAP(string[,nlsparams])
用法:返回字符串每个单词第一个字母大写而单词中的其他字母小写的string,它还具有一个参数:Nlsparam用来指定排序规则,可以忽略

167:NLS_LOWER
语法:NLS_LOWER(string[,nlsparams])
用法:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。

168:NLS_CHARSET_ID
语法:NLS_CHARSET_ID(c)
用法:返回指定字符对应的字符集id。

169:NLS_CHARSET_NAME
语法:NLS_CHARSET_NAME(n)
用法:返回指定数值对应的字符集名称

170:NLS_CHARSET_DECL_LEN
语法:NLS_CHARSET_DECL_LEN(n1,n2)
用法:返回一个NCHAR值的声明宽度(以字符为单位).n1是该值以字节为单位的长度,n2是该值的字符集ID

171:VSIZE
语法:VSIZE(c)
用法: 返回c的字节数。

172:NLS_UPPER
语法:nls_upper(string[,nlsparams])
用法:返回字符串中的所有字母都是大写的形式的string。

173:NTILE
语法:NTILE(buckets)
用法:这个函数的参数为NTILE(buckets),这个bucket参数指定了分片的片数,这个函数的作用就是把记录结果集分成N部分的意思

174:NEW_TIME(date,this,that)
给出在this时区=that时区的日期和时间

175:ORA_HASH
语法:ora_hash('strings', N, 0 )
用法:ora_hash用于计算hash分区表数据的分布位置 strings: 输入值 N:最大hash bucket的值0:起始hash bucket值,缺省是1

176:UNISTR
用法:这个函数接受一个 ASCII 字符串然后以国家字符集(通常作为16位 Unicode 或者 UTF-8 字符集安装)创建一个 Unicode 字符的序列

177:RATIO_TO_REPORT
语法:RATIO_TO_REPORT(sal) RATIO_TO_REPORT包含一个查询分区子句(QUERY_PARTITION_CLAUSE),如果省略这个子句,那么该函数返回结果会计算所有的返回行。
用法:用于对汇总的统计信息计算比率。如果表达式的值为空值,那么函数的结果也是空值

178:PRESENTNNV
语法:PRESENTNNV(cell,expr1,expr2)
用法:如果cell引用的单元在MODEL执行之前就存在,并且该单元的值不为空,则返回expr1,如果单元不存在或单元值为空值,则返回expr2

179:PRESENTV
语法:PRESENTV(cell,expr1,expr2)
用法:如果cell引用的记录在MODEL子句执行之前就存在,则返回expr1,否则返回expr2

原创粉丝点击