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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值