Oracle内置函数
2016-06-12 21:13
411 查看
数值函数:
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)
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)
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- 关于C#中排序函数的总结
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累