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

浙公网安备 33010602011771号