首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

oracle-惯用函数

2012-11-18 
oracle-常用函数??dual表可以用了查询很多。1.ascii(str)//返回与指定的字符对应的十进制数? ? ? ? ?selec

oracle-常用函数

?

?

dual表可以用了查询很多。

1.ascii(str)//返回与指定的字符对应的十进制数;

? ? ? ? ?select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

?

2.chr(int)//给出整数,返回对应的字符;

? ? ? ? ?select chr(54740) zhao,chr(65) chr65 from dual;

?

3.concat(s1,s2)连接两个字符串;

? ? ? ? select concat('010-','88888888')||'转23' ?电话别名 from dual;

?

4.initcap(str)返回字符串并将字符串的第一个字母变为大写;

? ? ? ? select initcap('smith') upp from dual;

?

5.instr(str,sub_str,start_index,frequency)

? ? ? ? select instr('oracle traning','ra',1,2) instring from dual;

?

6.length(str)返回字符串的长度;

?

7.lower(str)返回字符串,并将所有的字符小写

?

8.upper(str)返回字符串,并将所有的字符大写

?

9.rpad(右填充字符)和lpad(左填充字符)

? ? ? ? select lpad(rpad('gao',5,'*'),8,'*')from dual;

? ? ? ? 结果:***gao**

? ? ? ? gao**//5个字符;***gao**//8个字符

?

10.ltrim(str),rtrim(str),trim(str)

?

11.substr(string,start,count)取子字符串,从start开始,取count个

? ? ? ? ?select substr('13088888888',3,8) from dual;

?

12.replace('string','s1','s2')

? ? ? ? string ? 希望被替换的字符或变量?

? ? ? ? s1 ? ? ? 被替换的字符串

? ? ? ? s2 ? ? ? 要替换的字符串

? ? ? ? select replace('he love you','he','i') from dual;

?

13.abs()绝对值

? ? ? ? mod,acos(),sign()符号函数,avg(),协方差(),等一系列数学函数。

14.四舍五入

? ? ? ? cell()返回大于或等于给出数字的最小整数

? ? ? ? ? ? ? ? select ceil(3.1415927) from dual;

? ? ? ? floor()对给定的数字取整数

? ? ? ? ? ? ? ? select floor(2345.67) from dual;

? ? ? ? ROUND和TRUNC

? ? ? ? ? ? ? ? round()//往上靠

? ? ? ? ? ? ? ? trunc()//向0靠//截取

?

按照指定的精度进行舍入

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 ? ? ? ? ?-55

?

?

15.日期<-->字符串

? ? ? ? add_months()增加或减去月份

? ? ? ? ? ? ? ? select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;

? ? ? ? to_char()

? ? ? ? ? ? ? ? to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;

? ? ? ? to_date()--补充

?

?

? ? ? ? ? ? ? ? select last_day(sysdate) from dual;

?

? ? ? ? 给出date2-date1的月份

? ? ? ? ? ? ? ? select months_between('19-12月-1999','19-3月-1999') mon_between from dual;

?

? ? ? ? select next_day('18-5月-2001','星期五') next_day from dual;

?

? ? ? ? sysdate用来得到系统的当前日期

? ? ? ? ? ? ? ? select to_char(sysdate,'dd-mm-yyyy day') from dual;

?

16.convert(c,dset,sset)将源字符串 sset从一个语言字符集转换到另一个目的dset字符集

? ? ? ? select convert('strutz','we8hp','f7dec') "conversion" from dual;

? ? ? ? 以及各种进制之间的转换

?

17.to_number(str)将给出的字符转换为数字

? ? ? ? select to_number('1999') year from dual;

?

18.bfilename(dir,file)指定一个外部二进制文件

? ? ? ? insert into file_tb1 values(bfilename('lob_dir1','image1.gif'));

?

19.uid返回标识当前用户的唯一整数

SQL> show user

USER 为"GAO"

? ? ? ? select username,user_id from dba_users where user_id=uid;

?

20.user返回当前用户的名字

? ? ? ? select user from ?dual;

?

21.userenv(opt)返回当前用户环境的信息,opt可以是:

? ? ? ? ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE等

? ? ? ? 返回当前INSTANCE的标志

? ? ? ? select userenv('instance') from dual;

? ? ? ? select userenv('language') from dual;

? ? ? ? select userenv('terminal') from dual;

热点排行