Oracle内置函数

--数值型函数
ABS(n)函数:用于返回绝对值。
MOD(n1,n2) 函数:求n2除以n1的余数。
Sign(n) 函数:返回n的符号,n<0返回-1,n>0返回1,n=0返回0。
--三角函数
cos(n) 函数:返回参数n的余弦制,n表示角度。
acos(n) 函数:返回n的反余弦值。
cosh(n) 函数:返回n的双曲余弦值。
sin(n) 函数:返回n的正弦值。
sinh(n) 函数:返回n的双曲正弦值。
asin(n) 函数:返回n的反正弦值。
tan(n) 函数:返回n的正切值。
tanh(n) 函数:返回n的双曲正切值。
atan(n) 函数:返回n的反正切值。

ceil(n) 函数:返回输入数字的最大整数。
floor(n) 函数:返回输入数字的最小整数。

sqrt(n) 函数:返回n的平方根。n不可以为负数。
power(n2,n1) 函数:求n2的n1次的平方。n2为负数时,n1必须为整数。
exp(n) 函数:表示e的n次平方,e为数学常量e=2.71828183...
log(n1,n2) 函数:返回以n1为底n2的对数(n1的多少的平方是n2)。n1除1和0以外的任意正数。

round(n,Integer) 函数:四舍五入函数,Integer是表示在数据第几位四舍五入。Integer正数表示小数点后位置,Integer负数表示小数点前位置。
trunc(n,Integer) 函数:截取函数,截取n的几位。

--字符型函数
chr(n[USING NCHAR_CS]) 函数:根据相对应的字符集,把给定的ASCII码转换为字符。Using nchar_cs 指明字符集。
ASCII(char) 函数:返回参数首字母的的ASCII码值。
length(char) 函数:返回指定字符的长度。
lengthb(char) 函数:返回知道字符的字节长度。
Lengthc(char) 函数:以unicode字符为单位的长度。
length2(char) 函数:以ucs2代码点为单位的长度。
length4(char) 函数:以ucs4代码点为单位的长度。

substr(char,position,length_sub) 函数:char字符串,position截取的位置,length_sub截取的长度。
substr(char,position,length_sub) 函数的变型有:substrB,substrC,substr2,substr4。

concat(char1,char2) 函数:字符串链接函数,与||符号效果一样。参数类型可以为 Clob 、 NClob。
instr(char,substring,position,occurrence) 函数:char需要搜索的字符串,substring搜索的字符。position开始搜索的位置。
instr(char,substring,position,occurrence) 函数的变型:instrB,Instrc,instr2,instr4。

upper(char) 函数:将char字符串全部大写。
lower(char) 函数:将char字符串全部小写。
initcap(char) 函数:将char字符串的首字母大写。
nls_initcap(char) 函数:感觉与initcap效果一样。
nls_upper(char) 函数:感觉与upper效果一样。
nls_lower(char) 函数:感觉与lower效果一样。

nlssort(char,[nlsparam]) 函数:根据nlsparam指定的方式对char进行排序。nlsparam:NLS_SORT=SCHINESE_PINYIN_M。

replace(char,search_string,replacement_string) 函数:char字符串,search_string需要被替换的字符串,replacement_stirng要替换成的字符串。
rpad(char1,n,char2) 函数:右填充字符串,实际功能就是char1与char2字符串拼接在一起,但是n现在拼接后字符串的长度。n如果大于拼接后的字符串就用空格代替。
lpad(char1,n,char2) 函数:左填充函数。

trim([LEADING | trailing |both],trim_character from trim_source) 函数:
leading 删除trim_source字符串的前缀字符。
trailing 删除trim_source字符串的后缀字符。
both 删除trim_source字符串的两边字符。
trim_character 删除指定的字符,默认空格。
trim_source 需要被处理的字符串。

--例如
select trim(trailing 'e' from 'stre'),rtrim('sst','t')
,ltrim('qiuerjk','qi') from dual

rtrim(char,[set]) 函数:删除char字符串右边set设置的字符。
ltrim(char,[set]) 函数:删除char字符串左边set设置的字符。

nls_charset_id(string) 函数:得到字符集对应的ID。
nls_charset_name(number) 函数:得到id字符集对应的名称。

select nls_charset_name(2),nls_charset_id('WE8DEC') from dual;

--日期型函数
sysdate 函数:获取当前系统日期。
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

systimestamp 函数:返回当前系统时间,带时区。
dbtimezone 函数:干活当前系统时间的时区。

Add_months(data,integer) 函数:在当前日期上追加一个月的时间。
last_day(data) 函数:返回当前月份的最后一天。
next_day(data,char) 函数:返回当前日期退后的日期。

extract(datatime) 函数:返回指定时间中的日期部分。
--实例
select 
extract(year from sysdate) year,
extract(minute from timestamp  '2010-4-4 12:23:10') min,
extract(day from timestamp '2010-4-4 12:23:10') sec
from dual;

months_between(date1,date2) 函数:返回date1和date2两个日期直接的月份。放好整数说明是整月,小数说明月份不足。负数就是date1<date2.

round函数和trunc函数都可以用于截取日期,返回日期的最近一天。

--转换函数
ASCIISTR(char) 函数:将字符集的字符串转换为数据库字符集对应的ASCII字符串。

bin_to_num(data,data,...) 函数:将二进制转换为十进制。data代表二进制的每一位进制数。

cast(expr as type_name) 函数:数据类型转换,expr需要转换的数据,type_name要转换成的类型。

chartorowid(char) 函数:将字符串类型转换为rowid类型,rowid为数据库的唯一标识。

rowidtochar(rowid) 函数:将行记录rowid转换称字符串。

rowidtonchar(rowid) 函数:返回的类型是nvarchar2.

convert(char,dest_char_sest,source_char_set) 函数:字符串之间的字符集转换。
char 要转换的字符串
dest_char_sest 转变后的字符集
source_char_set 原字符集,可以省略次参数。

hextoraw(char) 函数:把十六进制字符串,转换为raw类型。
rawtohex(raw) 函数:把raw类型转换为十六进制字符串。
Rawtonhex(raw) 函数:返回的是nvarchar2类型。

to_char(number) 函数:将数值转换为字符串。可以用在日期转换。

--to_char用于日期转换
to_char(n,fmt,nlsparam) 函数:
n 日期类型数据
fmt 要转换的字符串格式。
nlsparam 使用语言类型

select to_char(sysdate,'YYYY-MM-DD'),
to_char(sysdate,'HH24:MI:SS'),
to_char(sysdate,'Month','NLS_DATE_LANGUAGE=ENGLISH')
from dual

to_date(char,fmt,nlsparam) 函数:字符串转换为日期。
to_number(expr,fmt,nlsparam) 函数:字符串转换为数字。
fmt 使用9999.9999表示。

to_single_byte(char) 函数:全角转换为半角。


nvl(expr1,expr2) 函数:替换null值,如果expr1为null 这返回expr2。
nvl2(expr1,expr2,expr3) 函数:当expr1为null是返回expr3,expr1非null这返回expr2.

avg([distinct | All] expr) 函数:求平均值。
distinct 表示除去重复值,ALL 表示包含所有值。expr表达式只能是数值类型。

count([distinct | ALL] expr) 函数:求记录数函数。

max([distinct | ALL] expr) 函数:求最大值。

sum([distinct | ALL] expr) 函数:求和。

user 函数:返回当前会话的登录名。

userenv(parameter) 函数:返回当前会话信息。
parameter 参数:language返回当前的会话的语言、字符集。sessionid返回当前会话ID,isdba返回单当前用户是否DBA。

sys_context(namespace,parameter) 函数:得到Oracle已经创建的context。

decode(expr,search,result,[search1,result1..]) 函数:expr作为参数,search作为匹配条件,如果匹配成功就返回result。
原文地址:https://www.cnblogs.com/gynbk/p/6556154.html