首页 > 代码库 > 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常用函数