您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > oracle内置SQL函数
oracle内置SQL函数分类整理函数分类1.字符函数2.数字函数3.日期函数4.转换函数5.分组函数6.其他函数1.1、CHR•语法:chr(x)•功能:返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经过ASCII转换又得到了原来的字符。•使用位置:过程性语句和SQL语句。•SQLselectchr(54740)zhao,chr(65)chr65fromdual;ZHC---赵A1.2、CONCAT•语法:CONCAT(string1,string2)•功能:返回string1,并且在后面连接string2。•使用位置:过程性语句和SQL语句•select('010-88888888'||'转23')高乾竞电话fromdual;•高乾竞电话•----------------•010-88888888转231.3、INITCAP•语法:INITCAP(string)•功能:返回字符串的每个单词的第一个字母大写而单词中的其他字母小写的string。单词是用.空格或给字母数字字符进行分隔。不是字母的字符不变动。•使用位置:过程性语句和SQL语句。•SQLselectinitcap('smith')uppfromdual;•UPP•-----•Smith1.4、LTRIM和RTRIM•语法:LTRIM(string1,string2)•功能:返回删除从左边算起出现在string2中的字符的string1。String2被缺省设置为单个的空格。数据库将扫描string1,从最左边开始。当遇到不在string2中的第一个字符,结果就被返回了。RTRIM的行为方式与LTRIM很相似。•使用位置:过程性语句和SQL语句。•SQLselectrtrim(ltrim('gaoqianjing','gao'),'ing')fromdual;•RTRIM(L•-------•qianj1.5、LOWER•语法:LOWER(string)•功能:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。•使用位置;过程性语句和SQL语句。•SQLselectlower('AaBbCcDd')AaBbCcDdfromdual;•AABBCCDD•--------•aabbccdd1.6、UPPER•语法:upper(string)•功能:返回字符串中的所有字母都是大写的形式的string。不是字母的字符不变。•使用位置:过程性语句和SQL语句。•SQLselectupper('AaBbCcDd')upperfromdual;•UPPER•--------•AABBCCDD1.7、REPLACE•语法:REPLACE(string,search_str[,replace_str])•功能:把string中的所有的子字符串search_str用可选的replace_str替换,如果没有指定replace_str,所有的string中的子字符串search_str都将被删除。REPLACE是TRANSLATE所提供的功能的一个子集。•使用位置:过程性语句和SQL语句。•SQLselectreplace('heloveyou','he','i')fromdual;•REPLACE('H•----------•iloveyou1.8、RPAD•语法:RPAD(string1,x[,string2])•功能:返回在X字符长度的位置上插入一个string2中的字符的string1。如果string2的长度要比X字符少,就按照需要进行复制。如果string2多于X字符,则仅string1前面的X各字符被使用。如果没有指定string2,那么使用空格进行填充。X是使用显示长度可以比字符串的实际长度要长。RPAD的行为方式与LPAD很相似,除了它是在右边而不是在左边进行填充。•使用位置:过程性语句和SQL语句•SQLselectrpad('oracle',9,'*')fromdual;•RPAD('ORA•---------•oracle***1.9、SUBSTR•语法:SUBSTR(string,a[,b])•功能:返回从字母为值a开始b个字符长的string的一个子字符串.如果a是0,那么它就被认为从第一个字符开始.如果是正数,返回字符是从左边向右边进行计算的.如果b是负数,那么返回的字符是从string的末尾开始从右向左进行计算的.如果b不存在,那么它将缺省的设置为整个字符串.如果b小于1,那么将返回NULL.如果a或b使用了浮点数,那么该数值将在处理进行以前首先被却为一个整数.•使用位置:过程性语句和SQL语句。•SQLselectsubstr(13088888888,3,8)fromdual;SUBSTR(--------088888881.10、TRANSLATE•语法:TRANSLATE(string,from_str,to_str)•功能:返回将所出现的from_str中的每个字符替换为to_str中的相应字符以后的string.TRANSLATE是REPLACE所提供的功能的一个超集.如果from_str比to_str长,那么在from_str中而不在to_str中而外的字符将从string中被删除,因为它们没有相应的替换字符.to_str不能为空.Oracle把空字符串认为是NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL.•使用位置:过程性语句和SQL语句。•SQLselecttranslate('abcbbaadef','ba','#@')fromdual;•TRANSLATE(•----------•@#c##@@def1.11、ASCII•语法:ASCII(string)•功能:数据库字符集返回string的第一个字节的十进制表示.请注意该函数仍然称作为ASCII.尽管许多字符集不是7位ASCII.CHR和ASCII是互为相反的函数.CHR得到给定字符编码的响应字符.ASCII得到给定字符的字符编码.•使用位置:过程性语句和SQL语句。•SQLselectascii('A')A,ascii('a')a,ascii(0)zero,ascii('')spacefromdual;•AAZEROSPACE•----------------------------------------•659748321.12、INSTR•语法:INSTR(string1,string2[a,b])•功能:得到在string1中包含string2的位置.string1时从左边开始检查的,开始的位置为a,如果a是一个负数,那么string1是从右边开始进行扫描的.第b次出现的位置将被返回.a和b都缺省设置为1,这将会返回在string1中第一次出现string2的位置.如果string2在a和b的规定下没有找到,那么返回0.位置的计算是相对于string1的开始位置的,不管a和b的取值是多少.•使用位置:过程性语句和SQL语句。•SQLselectinstr('oracletraning','ra',1,2)instringfromdual;•INSTRING•----------•91.13、INSTRB•语法:INSTRB(string1,string2[a,[b]])•功能:和INSTR相同,只是操作的对参数字符使用的位置的是字节.•使用位置:过程性语句和SQL语句。•SQLselectinstrb('oracle人traning','ra',1,2)instringfromdual;•INSTRING•----------•11•SQLselectinstr('oracle人traning','ra',1,2)instringfromdual;•INSTRING•----------•101.14、LENGTH•语法:LENGTH(string)•功能:返回string的字节单位的长度.CHAR数值是填充空格类型的,如果string由数据类型CHAR,它的结尾的空格都被计算到字符串长度中间.如果string是NULL,返回结果是NULL,而不是0.•使用位置:过程性语句和SQL语句。•SQLselectlength('smith')ch1,length('斯密斯')ch2,length(123)ch3fromdual;•CH1CH2CH3•-------------------------------•5331.15、LENGTHB•语法:LENGTHB(string)•功能:返回以字节为单位的string的长度.对于单字节字符集LENGTHB和LENGTH是一样的.•使用位置:过程性语句和SQL语句。2.1、CEIL•语法:CEIL(x)•功能:计算大于或等于x的最小整数值.•使用位置:过程性语言和SQL语句。•SQLselectceil(3.1415927)fromdual;•CEIL(3.1415927)•---------------•4•SQLselectceil(-3.1415927)fromdual;•CEIL(-3.1415927)•----------------•-32.2、FLOOR•语法:FLOOR(x)•功能:返回小于等于x的最大整数值.•使用位置:过程性语言和SQL语句。•SQLselectfloor(2345.67)fromdual;•FLOOR(2345.67)--------------23452.3、MOD•语法:MOD(x,y)•功能:返回x除以y的余数.如果y是0,则返回x•使用位置:过程性语言和SQL语句。•SQLselectmod(10,3),mod(3,3),mod(2,3)fromdual;•MOD(10,3)MOD(3,3)MOD(2,3)---------------------------1022.4、ROUND•语法:ROUND(x[,y])•功能:计算保留到小数点右边y位的x值.y缺省设置为0,这会将x保留为最接近的整数.如果y小于0,保留到小数点左边相应的位.Y必须是整数.•使用位置:过程性语言和SQL语句。•selectround(123.456,0)fromdual;回传123selectround(123.456,1)fromdual;回传123.5selectround(123.456,2)fromdual;回传123.46selectround(123.456,3)fromdual;回传123.456selectround(-123.456,2)fromdual;回传-123.46selectround(123.456,-2)fromdual;回传100•selectround(-123.456,-1)fromdual;回传-1202.5、SIGN•语法:SIGN(x)•功能:获得x的符号位标志.如果x0返回-1.如果x=0返回0.如果x0返回1.•使用位置:过程性语言和SQL语句。•SQLselectsign(123),sign(-100),sign(0)fromdual;SIGN(123)SIGN(-100)SIGN(0)----------------------------1-102.6、TRUNC•语法:TRUNC(x[,y])•功能:计算截尾到y位小数的x值.y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上.•使用位置:过程性语言和SQL语句。•SQLselecttrunc(124.1666,-2)trunc1,trunc(124.16666,2)fromdual;•TRUNC1TRUNC(124.16666,2)---------------------------100124.163.1、•语法:ADD_MONTHS(d,x)•功能:返回日期d加上x个月后的月份。x可以是任意整数。如果结
本文标题:oracle内置SQL函数
链接地址:https://www.777doc.com/doc-3600487 .html