4.1 函数介绍
Oracle SQL提供了用于执行特定操作的专用函数,这些函数大大增强了SQL语言的功能。函数可以接受零个或者多个输入参数,并且返回一个输出结果。这种由Oracle提供给我们的函数我们称为内置函数,除了有内置函数外还可以自定义函数。
根据函数的返回结果,我们将函数分为单行函数和多行函数
1、单行函数:对应在表记录时,一条记录返回一个结果。例如 lower(x),将参数转换为小写2、多行函数:也称 组函数 或 聚合函数 (重点) :此类函数可同时对多条记录进行操作,并返回一个结果 (重点) 。 例如max(x) 求最大值。
4.2 常用单行函数
4.2.1 字符函数
连接字符串x和y
. 在x中查找str,可以指定从start开始,也可以指定从第n次开始
返回x的长度
x转换为小写
x 转换为大写
) 把x左边截去trimstr字符串,缺省截去空格
把x右边截去trimstr字符串,缺省截去空格
在x中查找old,并替换为new
返回x的字符窜,从start处开始,截取length个字符,缺省length,默认到结尾
4.2.2 数学函数
x的绝对值
向上取整
向下取整
对x求y的余数
x的y次幂
x的平方根
4.2.3 日期函数
sysdate 当前系统时间
current_date 返回当前系统日期
add_months(d1,n1) 返回在日期d1基础上再加n1个月后新的日期
last_day(d1) 返回日期d1所在月份最后一天的日期
months_between(d1,d2) 返回日期d1到日期d2之间的月数
next_day(d1[,c1]) 返回日期d1在下周,星期几(参数c1)的日期
4.2.4 转换函数
to_char(x,c) 将日期或数据x按照c的格式转换为char数据类型
to_date(x,c) 将字符串x按照c的格式转换为日期
to_number(x) 将字符串x转化为数字型
4.3 常用组函数
组函数同时对多条记录进行操作,并返回一个结果
平均值
求和
最小值
最大值
统计
注意:null不参与运算
4.4 group by 分组
group by分组,将满足条件的记录进一步按照某特性进行分组。提取每组记录中的共性
结构:select … from …where …group by …
按部门分组,求平均工资(查询每个部门的平均工资)
按工种分组,统计人数(查询每个工种的员工数)
4.5 having 过滤组信息
要获取的组信息也许要满足一定条件时,我们通过hving来过滤组的条件。
结构:
4.6 过滤行记录和组信息
行记录的过滤是针对每条记录的筛选,组信息的过滤是针对组的筛选,是可以同时出现的,先筛选行,再过滤组。
where 筛选行,只能出现行信息
having 过滤组,只能出现组信息
结构:
执行顺序
函数
领取专属 10元无门槛券
私享最新 技术干货