Oracle函数

                                       Oracle函数

一.字符函数

   (1)大小写控制函数

                   lower():全部小写

                           select LOWER('SMITH') "CLERK" from DUAL;
                   upper():全部大写

                           SELECT UPPER('last_name') "Uppercase"
                           FROM dual;
                   initcap():首字母大写

                           SELECT INITCAP('the soap') "Capitals"
                           FROM DUAL;

            (2)字符控制函数                

                      1.concat
                        eg:

                 2.substr
                    substr('要截取的字符串',起始位置)
                    说明:位置从1开始

                  substr('要截取的字符,起始位置,取几个字符)

                  3.length('字符串'):字符个数统计

                    lengthb('字符串'):字节个数统计

              4.instr('大字符串','小字符串')返回小字符串在大字符串中出现的位置

               select instr('corporate floor','or', 3,2) "inserting" from dual;

               select instr('corporate floor','or', -3,2) "inserting" from dual;

                     5.lpad()和rpad()

                     6.trim()

    

 二.日期函数

        (1).日期函数           

                  --TO_CHAR 转换成字符串类型

                      select to_char (sysdate,'YYYY"年"fmMM"月"fmDD"日"HH24:MI:SS') FROM dual;

                  --TO_DATE转换成日期类型
                    select to_date('2013-07-13','yyyy-mm-dd') from dual;

                    

                   

         (2).日期相减

               

                2.两个日期相差的月数

                    

三.转换函数

        (1).隐式转换

               

        (2).显式转换

                01.to_char()对日期的转换

                      select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

                02.to_char()对数字的转换

                  

                                

四.数字函数   

             1.Round():四舍五入
                select round(12.45,1) from dual
             2.trunc:截断

           

五.通用函数

       nvl和nvl2 滤空函数

       

                                      select sal*12工资,comm 奖金,sal*12+nvl(comm,0) from emp;

                                      select sal*12工资,comm 奖金,sal*12+nvl2(comm,comm,0) from emp;

 六.decode函数  

                     select product_id,
                     decode(warehouse_id,1,'Southlake',
                     2,'San Francisco',
                     3,'New Jersey',
                     4,'Seattle',
                         'Non domestic') "Location"
                       from inventories where product_id< 1775 order by product_id,"Location"

   

原文地址:https://www.cnblogs.com/yangronglin/p/5809888.html