Oracle学习第四课

函数

概念: 特定功能的命令

单行函数

特点: 每条查询处理的原数据 , 产生一条函数处理结果.

常用:

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;

 
原文地址:https://www.cnblogs.com/chenpeisong/p/9751541.html