《Oracle總結 02》 基本語法的應用

2021-09-03 06:57:09 字數 2731 閱讀 6577

1:查詢emp表中資料,列出兩列,內容為名字與職位, 顯示格式:ename:job;

select * from emp_xiangyoulu;

select ename,concat(':',job) from emp_xiangyoulu; 

2:檢視每個員工職位名稱的字元個數

select ename,job,length(job) from emp_xiangyoulu;

3:將所有員工的名字以小寫形式,與首字母大寫形式查詢出來,第一列為小寫形式,第二列為首字母大寫

select lower(ename),initcap(ename) from  emp_xiangyoulu;

4:將字串'aaaaaabaaaaa'中左右兩邊的a去除

select trim('a' from 'aaaaaabaaaaa') from  dual;--b

select ltrim('aaaaaabaaaaa','a') from dual;--baaaaa;;去除左邊的『a』;

5:顯示每個員工的名字,要求顯示10位,第一列左對齊效果,第二列右對齊效果

select ename,rpad(ename,10,'#'),lpad(ename,10,'#') from emp_xiangyoulu; 

6:擷取字串'doctor who'中的'who'

select substr('doctor who',-3,3) from dual;-->右起第三個字元開始

7:檢視'doctor who'中'who'的位置

select instr('doctor who','who',1,1) from dual;

8:分別檢視55.789四捨五入保留小數點後2位,整數字,十位後的數字,顯示成三列。

select round(55.789,2), round(55.789,0), round(55.789,-1) from dual;

9:分別檢視55.789擷取後保留小數點後2位,整數字,十位後的數字,顯示成三列。

select trunc(55.789,2),trunc(55.789,0),trunc(55.789,-1) from dual;

10:檢視每名員工工資百位以下的數字?

select ename,sal,mod(sal,100) from emp_xiangyoulu;

11:檢視每名員工從入職到今天一共多少天,若有小數則向上取整。

select ename,hiredate,ceil(sysdate-hiredate) from emp_xiangyoulu;

12:檢視從2008-08-08號到今天為止一共經歷了多少天?

select sysdate-to_date('2008-08-08','yyyy-mm-dd') from dual;

--向上取整 ;;

select ceil(sysdate-to_date('2008-08-08','yyyy-mm-dd')) from dual;

13:將每名員工入職時間以例如:(2023年12月3日的形式顯示)

select ename,hiredate,to_char(hiredate,'yyyy"年"mm"月"dd"日"') from emp_xiangyoulu;

14:檢視每個員工入職所在月的月底是哪天?

select ename,hiredate,last_day(hiredate) from emp_xiangyoulu;

15:檢視每名員工轉正日期(入職後3個月)

select ename,hiredate,add_months(hiredate,3) from  emp_xiangyoulu;

16:檢視每名員工入職至今共多少個月?

select ename,hiredate,ceil(months_between(sysdate,hiredate)) from emp_xiangyoulu;

17:檢視從明天開始一周內的週日是哪天?

select sysdate,next_day(sysdate,1) from dual;--下個週日

select sysdate,next_day(sysdate,7) from dual;--下個週六

18:檢視82年以後入職的員工的入職日期,82年以前的按照2023年01月01號顯示。格式都是dd-mon-rr(預設格式)

select ename,hiredate from emp_xiangyoulu where extract(year from hiredate)>1982;

select ename,to_char(hiredate,'yyyy"年"mm"月"dd"號"')

from emp_xiangyoulu where extract(year from hiredate)<1982;

19:檢視每名員工的入職年份?

select ename,hiredate,extract(year from hiredate) from emp_xiangyoulu;

20:顯示每個員工的總收入(工資加獎金),獎金為null的只看工資

--select ename,sal,comm,sal+comm from emp_xiangyoulu;-->備註: xx + null = null;

select ename,sal,comm,sal+nvl(comm,0) from emp_xiangyoulu;

21:使用nvl2實現20題的需求

select ename,sal,comm,sal+nvl2(comm,comm,0) from emp_xiangyoulu;

oracle學習總結 plsql基本語法

if 布林表示式 then pl sql 和 sql語句 end if loop 要執行的語句 exit when 條件語句 條件滿足,退出迴圈語句 end loop declare int number 5 0 stuname student.sname type student.s type 男...

ORACLE的基本語法

表 create table test names varchar2 12 dates date,num int,dou double 檢視 create or replace view vi test as select from test 同義詞 create or replace synony...

Oracle基本語法

1 window下啟動oracle服務 net start oracle服務名 net start oracle的 名 2 建立使用者 create user 建立使用者的名稱 identified by 建立使用者的密碼 3 修改使用者口令 alter user 需要修改使用者 identifie...