Oracle常用系统函数

字符类函数
1,ascii(c)函数和chr(i)函数
ascii(c)函数用于返回一个字符的ascii码,其参数c表示一个字符;chr(i)函数用于返回ascii码值对应的字符。

SQL> select ascii('Z'),chr(90) from dual;

ASCII('Z') C                                                                    
---------- -                                                                    
        90 Z     

2,concat(s1,s2)函数
该函数将字符串s2连接到字符串s1的后面,如果s1为null,则返回s2;如果s2为null,则返回s1;如果s1和s2都为空,则返回null;

SQL> select concat('Hello','World!')字符链接 from dual;

字符链接                                                                        
-----------                                                                     
HelloWorld!                                                                     

 


3,initcap(s)函数
该函数将字符s的每个单词的第一个字母大写,其他字母小写。单词之江用空格,控制字符,标点符号来区别。

第一个字母                                                                      
----------                                                                      
Oh My God!                                                                      

 


4,inser(s1,s2[,i][,j])函数
该函数用于返回字符s2在字符s1中第j次出现时的位置,搜索从字符串s1的第i个字符开始。当没有发现要查找的字符时,该函数返回值0;如果i为负数,那么搜索将从右到左进行,但函数的返回位置还是按从左到右来计算。其中,s1和s2均为字符串;i和j均为整数,默认值为1;

SQL> select instr('oracle 11g','1',3,2)abc from dual;

       ABC
----------
         9

 

 


5,length(s)函数
该函数用于返回字符串s的长度,如果为null,则返回值为null;

SQL> select e.empno,e.ename,d.dname
  2  from emp e inner join dept d
  3  on e.deptno=d.deptno
  4  where length(e.ename)>5;

     EMPNO ENAME      DNAME                                                     
---------- ---------- --------------                                            
      7654 MARTIN     SALES                                                     
      7844 TURNER     SALES                                                     
      7934 MILLER     ACCOUNTING                                                

 


6,lower(s)函数和upper函数(s)
lower(s)函数和upper(s)函数分别用来返回字符串s的小写形式和大写形式,这两个函数经常出现在where子句中;

  1  select e.empno,lower(e.ename),d.dname
  2  from emp e inner join dept d
  3  on e.deptno=d.deptno
  4* where length(e.ename)>5
SQL> /

     EMPNO LOWER(E.EN DNAME                                                     
---------- ---------- --------------                                            
      7654 martin     SALES                                                     
      7844 turner     SALES                                                     
      7934 miller     ACCOUNTING       


  1  select e.empno,upper(e.ename),d.dname
  2  from emp e inner join dept d
  3  on e.deptno=d.deptno
  4* where length(e.ename)>5
SQL> /

     EMPNO UPPER(E.EN DNAME                                                     
---------- ---------- --------------                                            
      7654 MARTIN     SALES                                                     
      7844 TURNER     SALES                                                     
      7934 MILLER     ACCOUNTING      

 


7,ltrim(s1,s2)函数,rtrim(s1,s2)函数和trim(s1,s2)函数
这三个函数分别用来删除字符串s1左面的字符串s2,删除字符串s1右面的字符串s2,删除字符串左右两端的字符串s2。如果部指定字符串s2表示去除相应方位的空格;

SQL> select ltrim('####East####','#'),rtrim('East   '),trim('#' from '####east####')from dual;

LTRIM('# RTRI TRIM                                                              
-------- ---- ----                                                              
East#### East east      

 


8,replace(s1,s2 ,[,s3])
该函数使用s3字符串替换出现在s1字符串中的所有s2字符串,并返回替换后的新字符串,其中,s3的默认值为空字符串;

SQL> select replace('Bad Luck Bad Gril','Bad','Good')from dual
  2  ;

REPLACE('BADLUCKBAD                                                             
-------------------                                                             
Good Luck Good Gril   

 


9,substr(s,i,[j])
该函数表示从字符串s的第i个位置开始截取长度为j的字符串。如果省略参数j,则直接截取到尾部,其中i和j为整数。

SQL> select substr('MessageBox',8,3)from dual;

SUB                                                                             
---                                                                             
Box    

 

数字类函数


ceil(n)函数
该函数返回大于或等于n的最小整数,它适合于一些比较运算;

SQL> select ceil(7.3),ceil(7),ceil(-7.3) from dual;

 CEIL(7.3)    CEIL(7) CEIL(-7.3)                                                
---------- ---------- ----------                                                
         8          7         -7                                                

 

round(n1,n2)函数
该函数返回舍入小数点右边n2位的n1的值,n2的默认值为0,这会返回小数点最接近的整数。如果n2为负数,就舍入到小数点左边相应的位上,n2必须是整数;

SQL> select round(3.145,2), trunc(3.145,2) from dual;

ROUND(3.145,2) TRUNC(3.145,2)                                                   
-------------- --------------                                                   
          3.15           3.14            

 

power(n1,n2)函数
该函数返回n1的n2次方。其中n1的n2都为整数;

SQL> select power(2,3)from dual;

POWER(2,3)                                                                      
----------                                                                      
         8                                                                      

 

日期和时间类函数

sysdate()函数
该函数返回系统当前的日期

SQL> select sysdate as 系统日期 from dual;

系统日期                                                                        
--------------                                                                  
08-10月-19        

 

add_months(d,i)函数
该函数返回日期d加上i个月之后的结果。其中,i为任意整数;

SQL> select ADD_MONTHS(sysdate,6) from dual;

ADD_MONTHS(SYS                                                                  
--------------                                                                  
08-4月 -20      

 

转换类函数

to_char()函数
该函数实现将表达式转换为字符串,format表示字符串格式;

SQL> select sysdate,to_char(sysdate,'YYYY-MM-DD')as 转换后日期 from dual;

SYSDATE        转换后日期                                                       
-------------- ----------                                                       
08-10月-19     2019-10-08                                                       

 

to_number(s[,format[lan]])函数
该函数将返回字符串s代表的数字,返回值按照format格式进行显示,format表示字符串格式,lan表示所使用的语言。

SQL> select to_number('18','xxx')as 十进制数 from dual;

  十进制数                                                                      
----------                                                                      
        24     

 

聚合类函数

使用聚合类函数可以针对一组数据进行计算,并得到相应结果。比如常用的操作有计算平均值,统计记录数,计算最大值

 

SQL> select count(empno)as 员工总数,round(avg(sal),2)as 平均工资 from emp;

  员工总数   平均工资                                                           
---------- ----------                                                           
        14    2073.21                                                           

 

posted @ 2019-10-08 13:03  handsomehe  阅读(857)  评论(0)    收藏  举报