《SQL常用函数sql常用函数》由会员分享,可在线阅读,更多相关《SQL常用函数sql常用函数(8页珍藏版)》请在金锄头文库上搜索。
1、一、字符串函数是 oracle 使用最广泛的一种函数A、LOWER(参数):把参数变成小写 例如:查询名称为 scott 的员工信息 (不区分大小写的查询) SQL select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where lower(ename)=scott; 输出的结果是: EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO - - - - - - - - 7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20 B、UPPER(参数):把参数变
2、成大写 例如:查询名称为 scott 的员工信息 (不区分大小写的查询) SQL select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where upper(ename)=scott; 输出的结果是: EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO - - - - - - - - 7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20 C、 INITCAP(参数): 把参数的首字母大写 例如:查找员工编号是 7788 的信息,他的名字显示成首字母大写
3、 SQL select empno,initcap(ename),job,mgr,hiredate,sal,comm,deptno from emp where empno=7788; 显示结果是: EMPNO INITCAP(ENAME) JOB MGR HIREDATE SAL COMM DEPTNO - - - - - - - - 7788 Scott ANALYST 7566 1982-12-9 3000.00 20 D、LENGTH(参数): 返回参数的长度 例如:输出员工编号是 7788 的 job 的长度 SQL select length(job) as 7788 的 job
4、的 length from emp where empno=7788; 显示的结果如下: 7788 的 job 的 length - 7 E、CONCAT(参数 1,参数 2): 把参数 1 和参数 2 连接起来 例如:把员工 7788 的工资显示成:薪水+奖金 SQL select empno,ename,job,mgr,hiredate,concat(sal,comm) as 工资,deptno from emp where empno=7788; 显示的结果如下: EMPNO ENAME JOB MGR HIREDATE 工资 DEPTNO - - - - - - - 7788 SCOT
5、T ANALYST 7566 1982-12-9 3000 20 F、 SUBSTR(参数,开始,截取数目) : 截取参数 例如:输出员工编号是 7788 的 job 的后三位 SQL select empno,ename,job,substr(job,length(job)-2,3) as job 的后三位 from emp where empno=7788; 或: select empno,ename,job,substr(job,length(job)-2) as job 的后三位 from emp where empno=7788;显示的结果如下: EMPNO ENAME JOB jo
6、b 的后三位 - - - - 7788 SCOTT ANALYST YST G、INSTR (参数,字母): 返回字母首次出现的位置 例如:查找用户 7788 的名字中T出现的位置 SQL select empno,ename,instr(ename,T) as T 首次出现的位置 from emp where empno=7788; 显示的结果如下: EMPNO ENAME T 首次出现的位置 - - - 7788 SCOTT 4 H、LPAD(参数,长度,在前补齐参数字母):向左补齐 例如:查找用户是 7788 的薪水,如果不够 4 位的话,前面补 0 SQL select empno,e
7、name,sal,lpad(sal,6,0) as 薪水是 6 位的格式 from emp where empno=7788; 显示的结果如下: EMPNO ENAME SAL 薪水是 6 位的格式 - - - - 7788 SCOTT 3000.00 003000 I、RPAD(参数,长度,在后补齐参数字母):向右补齐 例如:查找用户是 7788 的薪水,如果不够 4 位的话,前面补 0 SQL select empno,ename,sal,rpad(sal,6,0) as 薪水是 6 位的格式 from emp where empno=7788; 显示的结果如下: EMPNO ENAME
8、SAL 薪水是 6 位的格式 - - - - 7788 SCOTT 3000.00 300000 J、TRIM(both|leadingtrailing|字母 from 参数):从参数中去掉指定的字母 例如:查找员工编号是 7788 的去掉“T” 后的员工姓名 SQL select empno,ename,trim(T from ename) as 去掉 T 后 from emp where empno=7788; 或 SQL select empno,ename,trim(both T from ename) as 去掉 T 后 from emp where empno=7788; 显示的结
9、果如下: EMPNO ENAME 去掉 T 后 - - - 7788 SCOTT SCO 例如:查找员工编号是 7788 的去掉左边的“T” 后的员工姓名 SQL select empno,ename,trim(leading T from ename) as 去掉 T 后 from emp where empno=7788; 或: SQL select empno,ename,ltrim(ename,T) as 去掉 T 后 from emp where empno=7788; 显示的结果如下: EMPNO ENAME 去掉 T 后 - - - 7788 SCOTT SCOTT 例如:查找员
10、工编号是 7788 的去掉右边的“T” 后的员工姓名 SQL select empno,ename,trim(trailing T from ename) as 去掉 T 后 from emp where empno=7788; 或: SQL select empno,ename,rtrim(ename,T) as 去掉 T 后 from emp where empno=7788; 显示的结果如下: EMPNO ENAME 去掉 T 后 - - - 7788 SCOTT SCO K、REPLACE :(参数 ,参数, 参数): 第一个参数操作数,第二是要查找的字符,第三个是替换的字符,如果没有
11、第三个就删除查找的字符。 例如:把编号 7788 的员工姓名中的T换成L SQL select empno,ename,replace(ename,T,L) as 替换后 from emp where empno=7788; 显示的结果如下: EMPNO ENAME 替换后 - - - 7788 SCOTT SCOLL 二、数字函数 A、ROUND(参数): 四舍五入 例如:查找 12.89 的四舍五入 SQL select round(12.89) from dual; 显示的结果如下: ROUND(12.89) - 13 B、TRUNC(参数 1,参数 2): 截断 ,第一个参数是要操作的
12、数,第二个参数可有可无,如果没有的话,截断的是整数部分,如果参数 2 是正数的话,截取小数点右边的 参数 2个数,如果是负数的话,截取小数点左边的“参数 2”个数 例如:采用默认的方式 SQL select trunc(12.89) from dual; 显示的结果: TRUNC(12.89) - 12 例如:第二个参数是正数的时候 SQL select trunc(12.89,1) from dual; 显示的结果: TRUNC(12.89,1) - 12.8 例如:第二个参数是负数的时候 SQL select trunc(12.89,-1) from dual; 显示的结果: TRUNC(
13、12.89,-1) - 10 C、 MOD(参数 1,参数 2): 求参数 1 除以参数 2 后的余数 例如:100 除以 30 的余数 SQL select mod(100,30) from dual; 显示的结果: MOD(100,30) - 10 D、ABS(参数):求参数的绝对值 例如:求-10 的绝对值 SQL select abs(-10) from dual; 显示的结果: ABS(-10) - 10 E、CEIL(参数):返回大于或等于参数的最小整数 SQL select ceil(-10.23) from dual; 显示的结果: CEIL(-10.23) - -10 F、 FLOOR(参数):返回小于或等于参数的最大整数 例如:求-10.23 的向下取整 SQL select floor(-10.