Posted on 2007-05-23 12:52
胡娟 阅读(670)
评论(0) 编辑 收藏 所属分类:
Oracle
字符函数:
LOWER函数:将字符串转换成小写形式
1SQL> select lower(ename) from emp;
UPPER函数:将字符串转换成大写形式
INITCAP函数:将字符串转换成首字母大写形式
CONCAT函数:将字符串连接起来。其格式:concat(job,ename) 将job与ename连接起来。也可以用 || 连接
1SQL> select concat(job,ename) from emp;
SUBSTR函数:截取字符串。其格式:substr(c,p,l) c表示字符串,p表示要提取的起始字符串的位置,l表示提取的长度。如果p为负值表示从字符串的最后一位开始倒着向前找要提取的字符串的位置。
1SQL> select ename,substr(ename,-3,2) from emp where empno = 7369;
2//查询结果
3ENAME SUBSTR(ENAME,-3,2)
4---------- ------------------
5SMITH IT
LENGTH函数:字符串的长度
L/RPAD:填充字符串左/右侧的区域。其格式:LPAD(c,l,s) c表示要填充的字符串,l表示填充后字符串的长度,s表示用于填充的符号或者字符
L/RTRIM函数:去掉左/右侧空格
REPLACE函数:用于字符串的替换。其格式:replace(c,s,r) c表示将处理的字符串,s表示想要查找的字符串,r 表示将要替换的字符串。
数字函数:
Round函数:用来将数字字段四舍五入到指定的精度。其格式:round(n,p) n表示要四舍五入的数字,p表示小数点后保留几位小数
TRUNC函数:用来将数字字段截断的指定的精度。其格式:trunc(n,p) n表示要截取的数字,p表示小数点后保留几位小数
日期函数:
MONTHS_BETWEEN函数:表示两个月之间相差的天数。其格式:months_between(date1,date2) date1晚于date2,返回正数,date1早于date2,返回负数。
ADD_MONTHS函数:表示某个月以后的日期。其格式:add_months(date,n)向大特加上n个月,你为正整数
NEXT_MONTHS函数:表示一周后某天的日期。其格式:next_months(date,'char')。char为星期几
LAST_DAY(date)函数:表示date所在月的最后一天
TO_DATE(date,day)函数:表示将date转化为day的格式
ROUND_DATE(date,day)函数:将date以day的格式进行四舍五入到最近的天
通用函数:
NVL函数: 可以使用NVL函数来解决对可能包含null值的字段执行数学运算时导致的问题。在oracle9i中,null值不等于空格或者0。其格式:nvl(a,b) a表示列的值为null,b 表示替换为b
NVL2函数:他允许不同的选项,这取决于是否存在null值。其格式:nvl2(x,y,z),其中y表示当x不是null时所替换的数据,z表示当x是null时所替换的数据。
组函数:
MAX、MIN函数可用于对数值型或日期型的数据使用。AVG、SUM函数用于数值型的列
COUNT函数:count(*)返回表中行的总数,包括重复行和数据列中包含的空值。count(x) 表示x列所包含非空行的数量。
GROUP BY子句:将表中的记录划分成若干个小组,通过组函数等到每个组的简要信息。group by子句中必须包含指定的列,不能使用列的别名。
1SQL> select deptno,avg(sal) from emp group by deptno order by deptno;
2查询结果
3DEPTNO AVG(SAL)
4------ ----------
5 10 2916.66666
6 20 2175
7 30 1566.66666
8
HAVING子句:要在组函数结果的基础上对记录加以限制,则必须在使用group by的同时使用having子句。
1SQL> select deptno,max(sal) from emp group by deptno having max(sal)>2000;
2查询结果
3DEPTNO MAX(SAL)
4------ ----------
5 30 2850
6 20 3000
7 10 5000
8