首页 > 代码库 > oracle常用函数

oracle常用函数

第一:去重    使用distinct关键字。

第二:补位函数 LPAD (左补位),RPAD(右补位)

          eg: 工资列不足15使用“$”左补足15位(  使用LPAD方法实现对工资列的左补位,SQL语句如下所示)

    SELECT ename, LPAD(sal, 15, ‘$‘) as "SALARY" FROM emp ;

第三:字符串函数 使用 concat()  或使用 ||  连接符 。

           eg:select empname || ‘:‘ || sal from emp  使用 ||  更为直观 。

第四:TRIM作用截去字串,经常用来去掉字符串前后空格。

第五:SUBSTR()获取字符串的子串  INSTR(sourceString,destString,start,appearPosition)  或  instr(‘源字符串‘ , ‘目标字符串‘ ,‘开始位置‘,‘第几次出现‘) 获取子字符串在原字符串的位置  start和appearPosition都默认是1 。

           用法:substr(str,start,end),或 substr(str,start)  如果start=0则从首字符开始,如果start等于负数则从尾部开始。

                      instr(‘abcdefgh‘,‘de‘)  select instr(‘abcdefgh‘,‘de‘) position from dual;   返回  4     解释:从1开始算 d排第四所以返回4

                      select instr(‘abcdefghbc‘,‘bc‘,3) position from dual;   返回 9  解释:从第3个字符开始算起 第3个字符是c,所以从3开始以后的字符串找查找bc,返回9

                      select instr(‘qinyinglianqin‘,‘qin‘, 1, 2) position from dual;   返回12 解释:从第1个字符开始,查找第2次出现子串的位置

  substr()经常和 instr()  一块使用   通过instr()获取自古传的位置  substr()  利用instr返回来的位置  做起始或结束位置

第六:nvl(expr1,expr2) 和 nvl2(expr1,expr2,expr3) 是空值函数

           nvl(expr1,expr2)  如果exp1是null  则取值exp2  exp2是实际值  exp1和exp2 可以是任何数据类型,但是exp1和exp2必须是相同的数据类型。

           eg:select ename,sal,common sal+nvl(common,o) as salary from emp

           nvl2(expr1,expr2,exp3) 判断如果exp1不是空则返回exp2,如果exp1是空则返回exp3

           eg:select ename,sal,common nvl2(commom,sal+commom,sal) as salary from em

第七:分组函数 group by () having()   having()必须在group by()后使用

第八:order by 升序降序 (可以按字母、数字、日期) 默认是asc升序  降序必须表明 desc 如果对多个字段用排序 那么每个字段必须表明是升序还是降序

 

 

                     

oracle常用函数