ORACLE官方SQL语言参考之单列函数实例讲解
单列函数
单行函数为查询的表或视图的每一行返回单个结果行。这些函数可以出现在 select 列表by中,where子句, 以子句startwith和connect, 并having子句。
数值函数
数值函数接受数字输入并返回数值。大多数数值函数返回精确到38位小数的number值。先验功能,cos,coshsinh,exp,ln,log,sin,sqrt,tan和tanh精确到36位小数。先验函数acos、asin、atan和atan2精确到30位小数。数值函数为:
abs
acos
asin
atan
atan2
bitand
ceil
cos
cosh
exp
floor
ln
log
mod
nanvl
power
remainder
round (number)
sign
sin
sinh
sqrt
tan
tanh
trunc (number)
width_bucket
返回字符值的字符函数
返回字符值的字符函数返回以下数据类型的值, 除非另有记录:
如果输入参数为char或varchar2, 则返回的值为varchar2.
如果输入参数为nchar或nvarchar2, 则返回的值为nvarchar2.
函数返回的值的长度受返回的数据类型的最大长度的限制。
对于返回char或varchar2的函数, 如果返回值的长度超过了限制, 则 oracle 将截断它并返回结果, 而不会出现错误消息。
对于返回clob值的函数, 如果返回值的长度超过了限制, 则 oracle 将引发错误并不返回任何数据。
返回字符值的字符函数为:
chr
concat
initcap
lower
lpad
ltrim
nchr
nls_initcap
nls_lower
nls_upper
nlssort
regexp_replace
regexp_substr
replace
rpad
rtrim
soundex
substr
translate
translate ... using
trim
upper
返回数字值的字符函数
返回数字值的字符函数可以作为参数的任何字符数据类型。返回数字值的字符函数为:
ascii
instr
length
regexp_count
regexp_instr
字符集函数
字符集函数返回有关字符集的信息。字符集函数为:
nls_charset_decl_len
nls_charset_id
nls_charset_name
日期时间函数
datetime 函数在日期 (date)、时间戳 (timestamp时间戳timestamp、withtimezone时区的戳和timestampwithlocaltime时区的戳) 上运行zone) 和间隔 (间隔intervaldaytosecond、intervalyeartomonth) 值。
一些 datetime 函数是为 oracledate数据类型 (add_months、current_date、last_day、new_time和next_day) 设计的。如果提供时间戳值作为参数, 则 oracle 数据库内部将输入类型转换为date值并返回date值。异常是months_between函数, 它返回一个数字, 而round和trunc函数不接受时间戳或间隔值。
其余的 datetime 函数设计为接受三种类型的数据 (日期、时间戳和间隔), 并返回这些类型之一的值。
所有返回当前 datetime 信息 (如sysdate、systimestamp、current_timestamp等) 的 datetime 函数都将为每个 sql 语句计算一次, 而不管它们有多少次在该语句中引用。
日期时间函数为:
add_months
current_date
current_timestamp
dbtimezone
extract (datetime)
from_tz
last_day
localtimestamp
months_between
new_time
next_day
numtodsinterval
numtoyminterval
ora_dst_affected
ora_dst_convert
ora_dst_error
round (date)
sessiontimezone
sys_extract_utc
sysdate
systimestamp
to_char (datetime)
to_dsinterval
to_timestamp
to_timestamp_tz
to_yminterval
trunc (date)
tz_offset
一般比较函数
一般比较函数从一组值中确定最大值或最小价值。一般比较函数为:
greatest
least
转换函数
转换函数将值从一种数据类型转换为另一种。通常, 函数名称的形式遵循约定datatypetodatatype。第一个数据类型是输入数据类型。第二个数据类型是输出数据类型。sql 转换函数为:
asciistr
bin_to_num
cast
chartorowid
compose
convert
decompose
hextoraw
numtodsinterval
numtoyminterval
rawtohex
rawtonhex
rowidtochar
rowidtonchar
scn_to_timestamp
timestamp_to_scn
to_binary_double
to_binary_float
to_blob
to_char (character)
to_char (datetime)
to_char (number)
to_clob
to_date
to_dsinterval
to_lob
to_multi_byte
to_nchar (character)
to_nchar (datetime)
to_nchar (number)
to_nclob
to_number
to_single_byte
to_timestamp
to_timestamp_tz
to_yminterval
treat
unistr
大型对象函数
大型对象函数在 lob 上运行。大对象函数为:
bfilename
empty_blob, empty_clob
集合函数
集合函数对嵌套表和 varrays 进行操作。sql 集合函数是:
cardinality
collect
powermultiset
powermultiset_by_cardinality
set
分层函数
分层函数将分层路径信息应用于结果集。分层函数为:
sys_connect_by_path
数据挖掘函数
数据挖掘功能对使用dbms_data_mining包或 oracle 数据挖掘 java api 生成的模型进行操作。sql 数据挖掘函数是:
cluster_id
cluster_probability
cluster_set
feature_id
feature_set
feature_value
prediction
prediction_bounds
prediction_cost
prediction_details
prediction_probability
prediction_set
另请参见:
oracle 数据挖掘应用人员关于 sql 数据挖掘函数信息的指南
xml 函数
xml 函数操作或返回 xml 文档或片段。这些函数使用的参数未定义为 ansi/iso/iec sql 标准的一部分, 但被定义为万维网联合体 (w3c) 标准的一部分。函数执行的处理和操作由相关的 w3c 标准定义。下表提供了指向适用于这些与 xml 相关的每个参数的规则和准则的 w3c 标准的相应部分的链接。使用这些 xml 函数之一的 sql 语句 (其中任何参数不符合相关的 w3c 语法) 将导致错误。特别注意的是, 并非数据库列的值中允许的每个字符都被视为合法的 xml。
syntax elementw3c standard url
value_exprhttps://www.w3.org/tr/2006/rec-xml-20060816
xpath_stringhttps://www.w3.org/tr/1999/rec-xpath-19991116
xquery_stringhttps://www.w3.org/tr/2007/rec-xquery-semantics-20070123/
namespace_stringhttps://www.w3.org/tr/2006/rec-xml-names-20060816/
identifierhttps://www.w3.org/tr/2006/rec-xml-20060816/#nt-nmtoken
有关使用这些函数选择和查询 xml 数据的详细信息, 包括格式输出的信息, 请参阅oracle xml db 开发人员指南.
sql xml 函数是:
appendchildxml
deletexml
depth
existsnode
extract (xml)
extractvalue
insertchildxml
insertchildxmlafter
insertchildxmlbefore
insertxmlafter
insertxmlbefore
path
sys_dburigen
sys_xmlagg
sys_xmlgen
updatexml
xmlagg
xmlcast
xmlcdata
xmlcolattval
xmlcomment
xmlconcat
xmldiff
xmlelement
xmlexists
xmlforest
xmlisvalid
xmlparse
xmlpatch
xmlpi
xmlquery
xmlroot
xmlsequence
xmlserialize
xmltable
xmltransform
有关使用这些函数选择和查询 xml 数据的详细信息, 包括格式输出的信息, 请参阅oracle xml db 开发人员指南.
sql xml 函数是:
编码和解码功能
编码和解码功能允许您检查和解码数据库中的数据。编码和解码功能如下:
decode
dump
ora_hash
vsize
有关使用这些函数选择和查询 xml 数据的详细信息, 包括格式输出的信息, 请参阅oracle xml db 开发人员指南.
sql xml 函数是:
与空相关的函数
与null相关的函数便于空处理。与null相关的函数有:
coalesce
lnnvl
nanvl
nullif
nvl
nvl2
有关使用这些函数选择和查询 xml 数据的详细信息, 包括格式输出的信息, 请参阅oracle xml db 开发人员指南.
sql xml 函数是:
环境和标识符函数
环境和标识符函数提供有关实例和会话的信息。环境和标识符函数是:
sys_context
sys_guid
sys_typeid
uid
user
userenv
有关使用这些函数选择和查询 xml 数据的详细信息, 包括格式输出的信息, 请参阅oracle xml db 开发人员指南.
sql xml 函数是:
appendchildxml
deletexml
depth
existsnode
extract (xml)
extractvalue
insertchildxml
insertchildxmlafter
insertchildxmlbefore
insertxmlafter
insertxmlbefore
path
sys_dburigen
sys_xmlagg
sys_xmlgen
updatexml
xmlagg
xmlcast
xmlcdata
xmlcolattval
xmlcomment
xmlconcat
xmldiff
xmlelement
xmlexists
xmlforest
xmlisvalid
xmlparse
xmlpatch
xmlpi
xmlquery
xmlroot
xmlsequence
xmlserialize
xmltable
xmltransform