|| 字符连接
initcap 首字母大写
lower 转换为小写字符
upper 转换为大写
lpad 左填充
rpad 右填充
ltrim 去除左边的空格
rtrim 去除右边的空格
alltrim 去除两边的空格
replace 替换
translate 转换
ascii 求ASC码
chr asc码变字符
substr 字符截取函数
instr 测试字符串出现的位置
length 字符串的长度
sysdate 系统时间
add_months 添加月份,得到一个新的日期
trunc 截取年月日
last_day 某月的最后一天
months_between 两个日期之间的月数
to_char 把日期或数字类型变为字符串
to_number 把字符串变成数字
to_date 把字符串变成日期
ceil 不小于x的最小整数
floor 不大于x的最大整数
round 四舍五入
trunc 舍去尾数
mod(x,n) x除以n以后的余数
power(x,y) x的y次方
greatest 求最大值
least 求最小值
nvl 空值转换函数
decode (if...elseif...elseif...else结构)
sign(x) 判断正负
x是正 1
x是负 -1
x是0 0
oracle中的聚合函数count、max、min、sum、avg等等
Oracle中聚合函数名称 | 函数的作用 |
Count | 用来求有效数据的数量 |
Max | 用来求给定数据中最大的那一个数据 |
Min | 用来求给定数据中最小的那一个数据 |
Avg | 用来求给定数据的平均值 |
Sum | 用来求给定数据的总和 |
Variance | 用来求给定数据的标准差 |
Stddev | 用来求给定数据的方差 |
先面是一些例子和注意事项。
1 .对于聚合函数,如果给定的值中存在空值的话,oracle将会直接忽略。
例如,对于scott的schema中有表emp;
Select count(*) from emp;
将会得到结果:
COUNT(*)
———-
14
但是我们注意到在Mgr列中有一列是空值,于是
Select count(mgr) from emp;
将会得到如下结果。
select COUNT(MGR)
———-
13
也就是说,oracle忽略了其中的空值。
当然对sum,max,min,avg等其他聚合函数都是如此。
例如select sum(comm) from emp;将会自动忽略掉一部分空值的数据。
2.对于聚合函数中可以使用distinct关键字来压缩重复值。
比如我们想统计总共有多少个部门的话
我们如果写
Select count(deptno) from emp;
将会得到错误的结果。因为实际上有很多重复的值也被计算在内。为了找到正确的答案,你应该这样写。
Select count(distinct deptno) from emp;
3.单独使用oracle中的聚合函数 可能用途还是有限,更经常使用的是聚合函数和group by 关键字结合起来使用。