Oracle基础——单行函数练习(二)

--1.查询系统当前日期
select sysdate from dual;

--2.请查询每个员工的名字、薪水和加薪15.5%之后的薪水(trunc取整)
Select last_name, salary, trunc(salary * 1.155) "new salary"
  from employees;

--3.显示员工加薪15.5%(取整)之后员工的名字、原薪水和增加的薪水。(不允许做update操作,trunc取整)
Select last_name, salary, trunc(salary * 0.155) "new salary"
  from employees;

--4.显示所有以’J’,‘A’,'M’打头的员工的名字和名字长度,且按照名字排升序
select last_name, LENGTH(last_name)
  from employees
 where substr(last_name, 0, 1) in ('J', 'A', 'M')
 order by last_name asc;
--5.请查询员工名和工作时间(换算成月并取整),并按工作时间排降序
Select last_name, trunc(months_between(sysdate, hire_date), 0)
  from employees
 order by trunc(months_between(sysdate, hire_date), 0) desc;
--6.请查询员工的名字和薪水,并将薪水列变成15个字符长度,左边填充“$”符号
select last_name, lpad(salary, 15, '$') from employees;
--7.请查询部门id为90的所有员工的名字和他们参加工作的星期数(保留2位小数,不需要四舍五入)使用
select last_name, trunc((sysdate - hire_date) / 7, 2)
  from employees
 where department_id = 90;
--8.创建报告,显示员工名和奖金系数,如果奖金系数为空,则显示$无奖金
select last_name, decode(commission_pct, '', '无奖金', commission_pct)
  from employees;

--9.请使用case语句,查询员工的job_id和级别.例如:
--job_id  Grade
--AD_PRES A
--ST_MAN  B
Select job_id,
       case job_id
       
         when 'AD_PRES' then
          'A'
       
         when 'ST_MAN' then
          'B'
       
         when 'IT_PROG' then
          'C'
       
         when 'SA_REP' then
          'D'
       
         when 'ST_CLERK' then
          'E'
       
         else
          '0'
       end "Grage"
  from employees;
--10.请使用decode语句,查询员工的job_id和级别.例如:
select t.job_id,
       decode(t.job_id,
              'AD_PRES',
              'A',
              'ST_MAN',
              'B',
              'IT_PROG',
              'C',
              'SA_REP',
              'D',
              'ST_CLERK',
              'E',
              '0')
  from employees t;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值