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

    技术2022-07-10  150

    --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;
    Processed: 0.018, SQL: 9