資料庫開發基礎 Oracle SQL基礎 003

2021-08-20 09:59:32 字數 2628 閱讀 8282

上節內容練習:

--1.查詢emp表中資料,列出一列,內容為名字與職位

-- 顯示格式:ename:job

select ename||':'||job from emp;

--2.檢視每個員工職位的字元個數

select ename,length(job) from emp;

--3.將所有員工的名字以小寫形式,與首字母大寫形式

--- 查詢出來,第一列為小寫形式,第二列為首字母大寫

select ename,lower(ename),initcap(ename) from emp

--4.將字串"aaaaaabaaaaa"中左右兩邊的a去除

---去除左邊的a

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

select ltrim('aaaaaabaaaaa','a') from dual;

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

---第二列 右對齊效果

select ename,rpad(ename,10,' ') from emp;

select ename,lpad(ename,10,' ') from emp;

--6.擷取字串「doctor who」中的「who」

select substr('doctor who',8,3) from dual;

select substr('doctor who',-3,3) from dual;

--7.檢視「doctor who」中「who」的位置

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

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

--8.分別檢視55.789四捨五入保留小數點後2位,整數字,十位後的

---數字,顯示成三列

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

--9.分別檢視55.789擷取後保留小數點後2位,整數字,十位後的

---數字,顯示成三列

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

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

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

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

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

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

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

--13.將每名員工入職時間以 例如:

----2023年12月3日的形式顯示

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

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

select ename,last_day(hiredate) from emp;

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

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

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

select ename,months_between(sysdate,hiredate) from emp;

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

select next_day(sysdate,1) from dual;

--18.檢視82年以後入職的員工的入職日期,82年以前的

---按照2023年01月01號顯示,格式都是dd-mon-rr(預設)

select ename,

hiredate,

greatest(hiredate, to_date('1982-01-01', 'yyyy-mm-dd'))

from emp;

/*select ename,

hiredate,

least(hiredate, to_date('1982-01-01', 'yyyy-mm-dd'))

from emp*/

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

select to_char(hiredate,'yyyy') from emp;

select ename, hiredate, extract(year from hiredate) from emp;--時間擷取

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

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

--21.使用nvl2實現第20題的需求【nvl2是oracle特有】

select ename,sal,comm,nvl2(comm,sal+comm,sal) from emp;

--

SQL資料庫開發基礎

1.mfc odbc資料庫開發技術 1.利用odbc建立資料來源 2.資料庫連線 1 包含標頭檔案 include 2 對資料來源進行操作之前需要定義乙個cdatabase物件,如下 cdatabase m db 3 呼叫cdatabase的成員函式openex建立和資料來源的連線,如下 try c...

AndoridSQLite資料庫開發基礎教程(9)

檢視是從乙個或幾個基本表 或檢視 中匯出的虛擬的表。通過檢視可以看到表的內容。下面為資料庫新增檢視,操作步驟如下 1 開啟的資料庫,單擊左下角的齒輪按鈕,選擇其中的create view選項,彈出view creator對話方塊,如圖1.20所示。圖1.20 view creator對話方塊 2 在...

AndoridSQLite資料庫開發基礎教程(5)

使用sqlitemanager建立資料庫的操作步驟如下 1 雙擊sqlitemanager工具,彈出sqlitemanager對話方塊,如圖1.9所示。圖1.9 sqlitemanager對話方塊 2 選擇new sqlite database選項,彈出create a sqlite databas...