数据库 函数

2天后的日期

  • select sysdate+2 from dual;

员工入职后3天的日期

  • select hiredate,hiredate-3 from emp;

员工的转正日期

  • select hiredate 入职日期,hiredate+30*3 转正日期 from emp;

add_months(d,x)
select hiredate 入职日期,add_months(hiredate,3) 转正日期 from emp;
select hiredate 入职日期,add_months(hiredate,-1) 转正日期 from emp;

LAST_DAY(d) 返回的所在月份的最后一天
当前月份最后一个的日期

  • select last_day(sysdate) from dual;

入职月份的最后一天

  • select last_day(hiredate) from emp;

months_between(date1,date2) 返回date1和date2之间月的数
员工入职时间
select months_between(sysdate,hiredate) from emp; --月

next_day(sysdate,‘星期一’) 下周星期一
下个周一
select next_day(sysdate,‘星期一’) from dual;

下个周四 即将要过的下一个周四
select next_day(sysdate,‘星期四’) from dual;

to_date(c,m)  字符串以指定格式转换为日期

  • select to_date(‘2018-05-15 2:38:33’,‘yyyy-mm-dd hh12:mi:ss’) from
    dual;
  • select to_date(‘2018年05月15日 2:38:33’,‘yyyy"年"mm"月"dd"日" hh12:mi:ss’)
    from dual;

to_char(d,m)  日期以指定格式转换为字符串

  • select to_char(sysdate,‘yyyy"年"mm"月"dd"日" hh12:mi:ss’) from dual;

组函数 count() sum() max() min() avg()
count(字段|*|1)
计算所有员工的个数

  • select count(empno) from emp;
  • select count(*) from emp;
  • select count(1) from emp;

求有员工存在的部门个数

  • select count(distinct deptno) from emp;
  • select count(distinct 1) from emp;
  • select count(deptno) from dept where deptno in(select distinct deptno from emp);

求一个公司这个月的薪资开销

  • select sum(sal) from emp;
  • select sum(sal) from emp where deptno=20;

求公司最高薪资

  • select max(sal) from emp;

求公司最低薪资

  • select min(sal),max(sal),ename from emp;
  • select min(sal) from emp;

求公司薪资最低的人和薪资

  • select ename, sal from emp where sal = (select min(sal) from emp);

求30部门的平均薪资

  • select avg(sal) from emp where deptno=30;

求薪资高于平均薪资的员工姓名

  • select ename,sal from emp where sal>(select avg(sal) from emp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值