Oracle基礎 單行函式練習(二)

2021-10-07 16:09:21 字數 2009 閱讀 4627

--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;

Oracle基礎 單行函式練習(一)

1.查詢部門30中的所有員工資訊 select from emp where deptno 30 2.列出所有辦事員 clerk 的姓名,編號和部門編號 select ename,empno,deptno from emp where job clerk 3.找出獎金高於薪金的員工資訊 select...

oracle強化練習之單行函式

1.顯示dname和loc中間用 分隔 select dname loc from dept 2.將部門名稱左填充為10位 select lpad dname,10 from dept 3.將員工名字的 s 替換為 s select replace ename,s s from emp 4.求員工名...

oracle單行函式練習題

1.顯示系統時間 注 日期 時間 select to char sysdate,yyyy mm dd hh mm ss from dual 2.查詢員工號,姓名,工資,以及工資提高百分之20 後的結果 new salary select empno,ename,sal,sal 1.2 as new ...