您的位置:首页 > 数据库 > Oracle

oracle学习总结------函数的使用

2017-01-18 20:39 295 查看
|---常用的函数

   函数可以分为单行函数和多行函数

   单行函数分为:

    |--字符函数:由于处理字符相关的业务

     (1) replace(ename,'A',"char");该函数不是真正替换字符,只是在显示的时候替换

     (2)instr('oracle traing','ra',1,2);查找tr所在的位置

     (3)AsCll 返回与指定的字符对应的十进制数

     (4)CONCAT用于连接字符串,该函数与||作用相同

     (5)initcap返回字符串并将第一个字母大写。

     (6)length返回字符串的长度,在oracle一个中文的长度是1;

     (7)LOWER返回一个字符,将所有的字符小写

     (8)UPPER返回一个字符,将所有的字符小写

     (9)SUBSTR取子字节串,从start开始,count个字符。

     (10)convert(c,desc,sset)将一个语言的自字符集,转换为另一个字符集

     (10)RPAD和LPAD粘贴字符

     (11)LTRIM('ammm‘,'a)除左边的a字符,RRIM('mma,'a)除右边的a字符

      

     |---数值函数 

     (10)ceil函数向上取整。

         select ceil(23.6) from dual

         查询到的结果为:24

      (11)floor函数向下取整 

         select floor(23.6) from dual

         查询到的结果为:24

       (12)mod函数,取模

       (13)round函数,用于四舍五入

       (14)trunc函数,默认截取一个整数

           select trunc(456.2356,2) from dual;

            ---->456.23

        (15)to_number()将字符串转化为数字

     |---日期函数

       (15)to_date(String,"format")

            |--将字符串转化oracle的一个日期

          insert into emp(empno,hiredate)         values(2222,to_date('1988-11-11','yyyy-mm-dd'));

       (16)add_months(日期值,增加的月份)

       (17)SysDate 获得系统当前时间

          ?注解:查询近三个月入职的员工

               select * from emp add_months(hireDate,3) >= SYSDATE;

               SELECT * FROM EMP hireDate >= add_months(sysdate,-3);

        (18)last_day返回日期的最后一天 

        (19)MONTHS_BETWEN(date1,date2) 返回date1到date2的月份

        (20)NEXT_DAY(date1,week) 用于返回离date最近的日期 

        (21)to_char(date/number/char,format)将日期转换为format的字符串

     ?注解:请将雇员的名字,首字母小写,其他大写

         select lower(substr(ename,1,1))

          ||upper(substr(ename,2,length(ename)-1))

           from emp;

      

  

    ?注解:使用子查询完成行迁移

    create temp# as select empno,ename from emp where ename like 'S%'; 

    ?注解:使用子查询完成更新

     例:希望员工scott的岗位,工资,补助与smith员工一样

     update emp set (job,sal,comm) =(select job,sal,comm from emp where ename like 'SMATH') where ename = 'SCOTT';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle