Oracle内置函数

来源:互联网 发布:软件质量保证范文 编辑:程序博客网 时间:2024/04/27 15:12

数值函数:

abs(n)函数  -- 用于返回绝对值。该函数输入一个参数,参数类型为数值型(或可以隐式转换成数值类型)。

示例:select abs(100), abs(-100), abs('100') from dual;


mod(n2, n1)函数。该函数表示返回n2除以n1的余数。参数为任意数值或可以隐式转换成数值的类型。如果n1为0,那么该函数将返回n2。

示例:select mod(5, 2), mod(8/3, 5), mod('10', 5), mod(-10, 6), mod(1, 0) from dual;


sign(n)函数。返回参数n的符号。正数返回1,0返回0,负数返回-1.但如果n为binary_float或binary_double类型时,n>=0或者n=NaN函数会返回1.

示例:select sign('9'), sign(-9), sign(0.00), sign(-2*'9') from dual;


三角函数:

acos(n)返回n的反余弦值

cosh(n)返回n的双曲余弦值

sin(n)返回n的正弦值

sinh(n)返回n的双曲正弦值

asin(n)返回n的反正余弦值

tan(n)返回n的正切值

tanh(n)返回n的双曲正切值

atan(n)返回n的反正切值


字符型函数:

ascll码与字符转换函数:

chr(n[using nchar_cs])函数。根据相应的字符集,把给定的ascll码转换为字符。using nchar_cs指明字符集。

示例:select chr(65)||chr(66)||chr(67), chr(54678) from dual;


ascll(char)函数。返回参数首字母的ascll值。与chr函数相反。参数char的类型可以是char、varchar2、nchar或nvchar2。该返回值总是以用户使用的字符集为基础,如果用户的数据库字符集是7位的acsll值,那就得到一个acsll值。

示例:select ascii('明'), ascii('Adb'), ascii('ABC') from dual;


获取字符串长度函数

length函数。该函数可以得到指定字符串的长度,返回类型是数字。同样的,length函数也具有扩展形式,具体结构是{[length] | [lengthb] | [lengthc] | [length2] | [length4]}(char),各项参数含义可以参考前面介绍过的函数,其中char是参数。

示例:select ascii('明'), ascii('Adb'), ascii('ABC') from dual;


字符串截取函数:

substr函数。该函数提供截取字符串的功能。而且该函数有很多扩展形式,具体语句结构{[substr] | [substrb] | [substrc] | [sunstr2] | [substr4]}(char, position,substring_length)。

参数含义:

substr:以字符为单位

substrb:以字节为单位

substrc:以unicode字符为单位

substr2:以ucs2代码点位单位

substr4:以ucs4代码点为单位

char:原始字符串

position:要截取字符串的开始位置。初始为1,如果该值为负数,则表示从char的右边算起

substring_length:截取的长度

示例:select substr('abajbfaksbfak', 5, 2), substr('aaksfaksf', -5, 2) from dual;


字符串连接函数

concat(char1, char2)函数。该函数连接两个参数并返回。char2连接到char1的尾部。效果和"||"相似。参数类型可以是char、varchar2、nchar、nchar2、clob、nclob。

示例:select concat('我的', '测试|'), '我的'||'测试|' from dual;


字符串搜索函数

instr函数。该函数可以让我们在指定的字符串中搜索是否存在另一个字符串。语句结构:{[instr] | [instrb] | [instrc] | [instr2] | [instr4]}(string, substring, [position, [occurrence]]),该函数也具有扩展形式,具体参数含义如下:

instr:以字符为单位

instrb:以字节为单位

instrc:以unicode字符为单位

instr2:以ucs2代码点位单位

instr4:以ucs4代码点位单位

string:待搜索的字符串

substring:要搜索的字符串

position:搜索的开始位置,默认为1,表示字符串左边第一个位置,如果为负数则表示字符串的右边位置为起始位置

occurrence:substring第几次出现,默认是1

示例:select instr('this is a 测试|', '测'), instr('this is a 测试|', 's', '-1'), instr('this is a 测试|', 's', '1', '2') from dual;


字母大小写转换函数

upper(char)函数。该函数将指定的参数全部转换为大写字母。参数类型可以是char、varchar2、nchar、nvarchar2、clob、nclob。

示例:select upper('c'), upper('sdasd'), upper('this is a test') from dual;


lower(char)函数。该函数将指定的参数全部转换成小写字母。参数类型可以是char、varchar2、nchar、nvarchar2、clob、nclob。

示例:select lower('C'), lower('ASDASDSAD'), lower('THIS IS A TEST') from dual;


initcap(char)函数。该函数将参数所有单词首字母转换成大写字母。参数类型可以是char、varchar2、nchar、nvarchar2、clob、nclob。

示例:select initcap('C'), initcap('ASDASDSAD'), initcap('THIS IS A TEST') from dual;


带排序参数的字母大小写转换函数

nls_initcap(char[, nlsparam])函数。将指定参数的第一个字母转换成大写。nlsparam参数为可选参数,其设置可以到nls_database_parameters表中查询。这两个参数类型可以使char、varchar2、nchar、nvarchar2。如该函数没有nlsparam参数,则它和initcap函数一样。

示例:select NLS_INITCAP('a test'), nls_initcap('my test', 'nls_sort = schinese_stroke_m') from dual;


将类型为date的字段的时间向后延长n年:trunc(LAST_DAY(add_months(aa.eff_date,12*n))+1)

















0 0
原创粉丝点击