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