《oracle函数大全》由会员分享,可在线阅读,更多相关《oracle函数大全(16页珍藏版)》请在金锄头文库上搜索。
1、ORACLEORACLE 函数大全函数大全SQL 中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;A A ZERO SPACE- - - -65 97 48 322.CHR给出整数,返回对应的字符;SQL select chr(54740) zhao,chr(65) chr65 from dual;ZH C- -赵 A3.CONCAT连接两个字符串;SQL select concat(010-,88888888)|转 23 高乾竞电话 fr
2、om dual;高乾竞电话-010-88888888 转 234.INITCAP返回字符串并将字符串的第一个字母变为大写;SQL select initcap(smith) upp from dual;UPP-Smith5.INSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置;C1 被搜索的字符串C2 希望搜索的字符串I 搜索的开始位置,默认为 1J 出现的位置,默认为 1SQL select instr(oracle traning,ra,1,2) instring from dual;INSTRING-96.LENGTH返回字符串的长度;SQL selec
3、t name,length(name),addr,length(addr),sal,length(to_char(sal) from gao.nchar_tst;NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL)- - - - - -高乾竞 3 北京市海锭区 6 9999.99 77.LOWER返回字符串,并将所有的字符小写SQL select lower(AaBbCcDd)AaBbCcDd from dual;AABBCCDD-aabbccdd8.UPPER返回字符串,并将所有的字符大写SQL select upper(Aa
4、BbCcDd) upper from dual;UPPER-AABBCCDD9.RPAD 和 LPAD(粘贴字符)RPAD 在列的右边粘贴字符LPAD 在列的左边粘贴字符SQL select lpad(rpad(gao,10,*),17,*)from dual;LPAD(RPAD(GAO,1-*gao*不够字符则用*来填满10.LTRIM 和 RTRIMLTRIM 删除左边出现的字符串RTRIM 删除右边出现的字符串SQL select ltrim(rtrim( gao qian jing , ), ) from dual;LTRIM(RTRIM(-gao qian jing11.SUBSTR
5、(string,start,count)取子字符串,从 start 开始,取 count 个SQL select substr(13088888888,3,8) from dual;SUBSTR(-0888888812.REPLACE(string,s1,s2)string 希望被替换的字符或变量 s1 被替换的字符串s2 要替换的字符串SQL select replace(he love you,he,i) from dual;REPLACE(H-i love you13.SOUNDEX返回一个与给定的字符串读音相同的字符串SQL create table table1(xm varchar
6、(8);SQL insert into table1 values(weather);SQL insert into table1 values(wether);SQL insert into table1 values(gao);SQL select xm from table1 where soundex(xm)=soundex(weather);XM-weatherwether14.TRIM(s from string)LEADING 剪掉前面的字符TRAILING 剪掉后面的字符如果不指定,默认为空格符 15.ABS返回指定值的绝对值SQL select abs(100),abs(-1
7、00) from dual;ABS(100) ABS(-100)- -100 10016.ACOS给出反余弦的值SQL select acos(-1) from dual;ACOS(-1)-3.141592717.ASIN给出反正弦的值SQL select asin(0.5) from dual;ASIN(0.5)-.5235987818.ATAN返回一个数字的反正切值SQL select atan(1) from dual;ATAN(1)-.7853981619.CEIL返回大于或等于给出数字的最小整数SQL select ceil(3.1415927) from dual;CEIL(3.1
8、415927)-420.COS返回一个给定数字的余弦SQL select cos(-3.1415927) from dual;COS(-3.1415927)-121.COSH返回一个数字反余弦值SQL select cosh(20) from dual;COSH(20)-24258259822.EXP返回一个数字 e 的 n 次方根SQL select exp(2),exp(1) from dual;EXP(2) EXP(1)- -7.3890561 2.718281823.FLOOR对给定的数字取整数SQL select floor(2345.67) from dual;FLOOR(2345
9、.67)-234524.LN返回一个数字的对数值SQL select ln(1),ln(2),ln(2.7182818) from dual;LN(1) LN(2) LN(2.7182818)- - -0 .69314718 .9999999925.LOG(n1,n2)返回一个以 n1 为底 n2 的对数 SQL select log(2,1),log(2,4) from dual;LOG(2,1) LOG(2,4)- -0 226.MOD(n1,n2)返回一个 n1 除以 n2 的余数SQL select mod(10,3),mod(3,3),mod(2,3) from dual;MOD(1
10、0,3) MOD(3,3) MOD(2,3)- - -1 0 227.POWER返回 n1 的 n2 次方根SQL select power(2,10),power(3,3) from dual;POWER(2,10) POWER(3,3)- -1024 2728.ROUND 和 TRUNC按照指定的精度进行舍入SQL select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)- - - -56 -55 55 -5529.
11、SIGN取数字 n 的符号,大于 0 返回 1,小于 0 返回-1,等于 0 返回 0SQL select sign(123),sign(-100),sign(0) from dual;SIGN(123) SIGN(-100) SIGN(0)- - -1 -1 030.SIN返回一个数字的正弦值SQL select sin(1.57079) from dual;SIN(1.57079)-131.SIGH返回双曲正弦的值SQL select sin(20),sinh(20) from dual;SIN(20) SINH(20)- -.91294525 24258259832.SQRT返回数字 n
12、 的根SQL select sqrt(64),sqrt(10) from dual;SQRT(64) SQRT(10)- -8 3.162277733.TAN返回数字的正切值SQL select tan(20),tan(10) from dual;TAN(20) TAN(10)- -2.2371609 .6483608334.TANH返回数字 n 的双曲正切值SQL select tanh(20),tan(20) from dual;TANH(20) TAN(20)- -1 2.237160935.TRUNC按照指定的精度截取一个数SQL select trunc(124.1666,-2) t
13、runc1,trunc(124.16666,2) from dual;TRUNC1 TRUNC(124.16666,2)- -100 124.1636.ADD_MONTHS增加或减去月份SQL select to_char(add_months(to_date(199912,yyyymm),2),yyyymm) from dual;TO_CHA-200002SQL select to_char(add_months(to_date(199912,yyyymm),-2),yyyymm) from dual;TO_CHA-19991037.LAST_DAY返回日期的最后一天SQL select t
14、o_char(sysdate,yyyy.mm.dd),to_char(sysdate)+1,yyyy.mm.dd) from dual;TO_CHAR(SY TO_CHAR(S- -2004.05.09 2004.05.10SQL select last_day(sysdate) from dual;LAST_DAY(S-31-5 月 -0438.MONTHS_BETWEEN(date2,date1)给出 date2-date1 的月份SQL select months_between(19-12 月-1999,19-3 月-1999) mon_between from dual;MON_BETWEEN-9SQLselectmonths_between(to_date(2000.05.20