函数
概念: 特定功能的命令
单行函数
特点: 每条查询处理的原数据 , 产生一条函数处理结果.
常用:
to_char(被转化的日期,'日期的格式关键词')
将 日期 转化成 字符串注释:
年 yyyy 月 mm 日 dd 时 hh24 二十四时制 分 mi 秒 ss 星期 day --查询当前系统时间: 'yyyy-mm-dd' select to_char(sysdate,'yyyy-mm-dd') from dual; --查询员工表中信息(工号,名字,薪资,入职日期 yyyy-mm-dd)? select employee_id,first_name,salary,to_char(hire_date,'yyyy-mm-dd') from employees; --查看今天是星期几? select to_char(sysdate,'day') from dual;
to_date(被转化的字符串,'日期匹配的内容')
将字符串转化成日期
-- 将'2020-12-31'转化为日期展示? select to_date('2020-12-31','yyyy-mm-dd') from dual; -- 查看 '2020年12月31日' 是星期几? 思路: '2020年12月31日'----日期 2020/12/31 ----- 星期(day) select to_char(to_date('2020-12-31','yyyy-mm-dd'),'day') from dual;
练习: --查询employees表中入职日期在1997-5-1和1997-12-31之间的员工 select * from employees where hire_date between To_date('1997-5-1','yyyy-mm-dd') and To_date('1997-12-31','yyyy-mm-dd'); --日期差 select to_date('2018-9-29','yyyy-mm-dd')-to_date('2018-9-24','yyyy-mm-dd') from dual; --把当前系统的时间按以下格式输出 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss day') from dual;
组函数
作用: 对原表的数据,分组,统计
特点:
每组数据产生1条结果.
对组数据进行统计处理,每组产生一条数据.
核心思路图:
常见组函数:
max(列): 最大值
min(列): 最小值
avg(列): 统计当前组的中数据的平均值
sum(列): 统计综合
count(列):统计数量.个数.
补充: 组函数对null不做任何统计.
-- 统计员工表中,员工的个数?
思路: 统计整张表的员工的工号的个数
select count(employee_id)
from employees;
-- 统计员工表中,员工平均工资?
思路: 整张表 统计 salary 平均值
select avg(salary)
from employees;
-- 统计拥有提成的员工个数
方式1:
select count(commission_pct)
from employees
where commission_pct is not null;
方式2:--补充: 组函数对null不做任何统计!
select count(commission_pct)
from employees;