版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院第1章 安裝1 1.1 ORACLE.1 ORACLE數(shù)據(jù)庫安裝數(shù)據(jù)庫安裝1.2 P1.2 PL/SQLL/SQL工具安裝工具安裝, ,默認下一步即可默認下一步即可. .1 1.3 .3 配置本機配置本機tnsname.oratnsname.ora文件文件1 1.4 .4 測試測試tnsname.oratnsname.ora配置是否正確配置是否正確1.5 PL/SQL1.5 PL/SQL登錄登錄中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院第2章 SQL基礎(chǔ)2.1 數(shù)據(jù)庫查
2、詢語言數(shù)據(jù)庫查詢語言SQL2.2 基本查詢和排序基本查詢和排序2.3 條件查詢條件查詢 2.4 函數(shù)函數(shù) 2.5 高級查詢高級查詢2.6 階段訓(xùn)練階段訓(xùn)練2.7 練習(xí)練習(xí)中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2.1 數(shù)據(jù)庫查詢語言SQL2.1.1 SQL語言的特點和分類語言的特點和分類SQL語言有以下的主要特點:語言有以下的主要特點:* SQL語言可以在語言可以在Oracle數(shù)據(jù)庫中創(chuàng)建、存儲、更新、檢索數(shù)據(jù)庫中創(chuàng)建、存儲、更新、檢索和維護數(shù)據(jù),其中主要的功能是實現(xiàn)數(shù)據(jù)的查詢和數(shù)據(jù)的插入、和維護數(shù)據(jù),其中主要的功能是實現(xiàn)數(shù)據(jù)的查詢和數(shù)據(jù)的插入、刪除
3、、修改等操作。刪除、修改等操作。* SQL語言在書寫上類似于英文,簡潔清晰,易于理解。它語言在書寫上類似于英文,簡潔清晰,易于理解。它由關(guān)鍵字、表名、字段名,表達式等部分構(gòu)成。由關(guān)鍵字、表名、字段名,表達式等部分構(gòu)成。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院* SQL語言屬于非過程化的語言屬于非過程化的4GL(第四代語言第四代語言)。* SQL語言按功能可分為語言按功能可分為DDL語言、語言、DML語言、語言、DCL語言語言和數(shù)據(jù)庫事務(wù)處理語言四個類別。和數(shù)據(jù)庫事務(wù)處理語言四個類別。* SQL語言的主要關(guān)鍵字有:語言的主要關(guān)鍵字有:ALTER、DRO
4、P、REVOKE、AUDIT、GRANT、ROLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、DELETE、RENAME等。等。按照按照SQL語言的不同功用,可以進一步對語言的不同功用,可以進一步對SQL語言進行語言進行劃分。下表給出了劃分。下表給出了SQL語言的分類和功能簡介。語言的分類和功能簡介。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-1 SQL語言的分類類 別 功 能 舉 例 數(shù)據(jù)庫控制 語言(DCL) 控 制 對 數(shù)據(jù) 庫 的訪 問 , 啟動
5、 和 關(guān) 閉 等 對系統(tǒng)權(quán)限進行授權(quán)和回收的 G RANT、REVOKE等 語 句 數(shù)據(jù)庫定義 語言(DDL) 用 來 創(chuàng) 建、 刪 除及 修 改 數(shù)據(jù) 庫 對 象 創(chuàng)建表和索引的 CREA TE TABLE、ALTER INDEX等 語 句 數(shù)據(jù)庫操縱 語言(DM L) 用 來 操 縱數(shù) 據(jù) 庫的 內(nèi) 容 ,包 括 查 詢 查 詢 、 插 入 、 刪 除 、 修 改 和 鎖 定 操 作 的SELECT、 INSER T、 UPDA TE、 DELETE、 LOCK TABLE 等語 句 數(shù) 據(jù) 庫 事 務(wù) 處 理 實 現(xiàn) 對 數(shù)據(jù) 的 交易 過 程 的完 整 控 制 與數(shù)據(jù)庫事物處理相關(guān)的
6、COM M IT、 ROLLBACK、 SA VEPOINT、 SET TRANSACTION等 語 句 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2.1.2 SQL的基本語法的基本語法SQL語言的語法比較簡單,類似于書寫英文的語句。其語句語言的語法比較簡單,類似于書寫英文的語句。其語句一般由主句和若干個從句組成,主句和從句都由關(guān)鍵字引導(dǎo)。一般由主句和若干個從句組成,主句和從句都由關(guān)鍵字引導(dǎo)。主句表示該語句的主要功能,從句表示一些條件或限定,有些主句表示該語句的主要功能,從句表示一些條件或限定,有些從句是可以省略的。在語句中會引用到列名、表名或表達式。
7、從句是可以省略的。在語句中會引用到列名、表名或表達式。另外還有如下一些說明:另外還有如下一些說明:* 關(guān)鍵字、字段名、表名等之間都要用空格或逗號等進行必關(guān)鍵字、字段名、表名等之間都要用空格或逗號等進行必要的分隔。要的分隔。* 語句的大小寫不敏感語句的大小寫不敏感(查詢的內(nèi)容除外查詢的內(nèi)容除外)。* 語句可以寫在一行或多行。語句可以寫在一行或多行。* 語句中的關(guān)鍵字不能略寫和分開寫在兩行。語句中的關(guān)鍵字不能略寫和分開寫在兩行。 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院* 要在每條要在每條SQL語句的結(jié)束處添加語句的結(jié)束處添加“;”號。號。* 為了提高可
8、讀性,可以使用縮進。為了提高可讀性,可以使用縮進。* 從句一般寫在另一行的開始處。從句一般寫在另一行的開始處。查詢語句是最常見的查詢語句是最常見的SQL語句,它從給定的表中,把滿語句,它從給定的表中,把滿足條件的內(nèi)容檢索出來。以下是最基本的足條件的內(nèi)容檢索出來。以下是最基本的SELECT語句語法。語句語法。SELECT 字段名列表字段名列表 FROM 表名表名 WHERE 條件條件;SELECT為查詢語句的關(guān)鍵字,后跟要查詢的字段名列為查詢語句的關(guān)鍵字,后跟要查詢的字段名列表,字段名列表用來指定檢索特定的字段,該關(guān)鍵字不能表,字段名列表用來指定檢索特定的字段,該關(guān)鍵字不能省略。省略。中國電信廣
9、東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院字段名列表代表要查詢的字段。字段名列表代表要查詢的字段。FROM 也是查詢語句關(guān)鍵字,后面跟要查詢的表名,該也是查詢語句關(guān)鍵字,后面跟要查詢的表名,該關(guān)鍵字不能省略。關(guān)鍵字不能省略。WHERE條件限定檢索特定的記錄,滿足條件限定檢索特定的記錄,滿足“條件條件”的記的記錄被顯示出來,不滿足條件的被過濾掉。錄被顯示出來,不滿足條件的被過濾掉。語句查詢的結(jié)果往往是表的一部分行和列。如果字段語句查詢的結(jié)果往往是表的一部分行和列。如果字段名列表使用名列表使用*,將檢索全部的字段。如果省略,將檢索全部的字段。如果省略WHERE條件,
10、條件,將檢索全部的記錄。將檢索全部的記錄。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練1】 查詢部門查詢部門10的雇員。的雇員。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT * FROM emp WHERE deptno=10;結(jié)果略。結(jié)果略。 說明:該查詢語句從說明:該查詢語句從emp表中檢索出部門表中檢索出部門10 的雇員,的雇員,條件由條件由WHERE deptno=10 子句指定。子句指定。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2.2 基本查詢和排序2.2.1 查詢的基本用法查詢的基本用法在
11、在Oracle數(shù)據(jù)庫中,對象是屬于模式的,每個賬戶對應(yīng)一個數(shù)據(jù)庫中,對象是屬于模式的,每個賬戶對應(yīng)一個模式,模式的名稱就是賬戶名稱。在表名前面要添加模式的名模式,模式的名稱就是賬戶名稱。在表名前面要添加模式的名字,在表的模式名和表名之間用字,在表的模式名和表名之間用“.”分隔。我們以不同的賬戶分隔。我們以不同的賬戶登錄數(shù)據(jù)庫時,就進入了不同的模式,比如登錄到登錄數(shù)據(jù)庫時,就進入了不同的模式,比如登錄到STUDENT 賬賬戶,就進入了戶,就進入了STUDENT模式。而在模式。而在STUDENT模式要查詢屬于模式要查詢屬于SCOTT模式的表,就需要寫成:模式的表,就需要寫成:SELECT * FR
12、OM SCOTT.EMP;中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院但如果登錄用戶訪問屬于用戶模式本身的表,那么可但如果登錄用戶訪問屬于用戶模式本身的表,那么可以省略表名前面的模式名稱。以省略表名前面的模式名稱。SELECT * FROM emp;1指定檢索字段指定檢索字段下面的練習(xí),只顯示表的指定字段。下面的練習(xí),只顯示表的指定字段。【訓(xùn)練訓(xùn)練1】 顯示顯示DEPT表的指定字段的查詢。表的指定字段的查詢。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT deptno,dname FROM dept;中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)
13、劃設(shè)計院廣東省電信規(guī)劃設(shè)計院顯示結(jié)果如下:顯示結(jié)果如下: DEPTNO DNAME- - 10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS 說明:結(jié)果只包含說明:結(jié)果只包含2列列deptno和和dname。在語句中給出要顯。在語句中給出要顯示的列名,列名之間用示的列名,列名之間用“,”分隔。表頭的顯示默認為全部大分隔。表頭的顯示默認為全部大寫。對于日期和數(shù)值型數(shù)據(jù),右對齊顯示,如寫。對于日期和數(shù)值型數(shù)據(jù),右對齊顯示,如deptno列。對于字列。對于字符型數(shù)據(jù),左對齊顯示,如符型數(shù)據(jù),左對齊顯示,如dname列。列。中國電信廣東公司中國電信廣東公司
14、綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【練習(xí)練習(xí)1】顯示顯示emp表的雇員名稱和工資。表的雇員名稱和工資。2顯示行號顯示行號每個表都有一個虛列每個表都有一個虛列ROWNUM,它用來顯示結(jié)果中記,它用來顯示結(jié)果中記錄的行號。我們在查詢中也可以顯示這個列。錄的行號。我們在查詢中也可以顯示這個列?!居?xùn)練訓(xùn)練2】 顯示顯示EMP表的行號。表的行號。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT rownum,ename FROM emp;中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院結(jié)果如下:結(jié)果如下: ROWNUM ENAME- - 1 SMITH
15、2 ALLEN 3 WARD 4 JONES 注意:顯示的行號是查詢結(jié)果的行號,數(shù)據(jù)在數(shù)據(jù)庫注意:顯示的行號是查詢結(jié)果的行號,數(shù)據(jù)在數(shù)據(jù)庫中是沒有行號的。中是沒有行號的。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院3顯示計算列顯示計算列在查詢語句中可以有算術(shù)表達式,它將形成一個新列,在查詢語句中可以有算術(shù)表達式,它將形成一個新列,用于顯示計算的結(jié)果,通常稱為計算列。表達式中可以包用于顯示計算的結(jié)果,通常稱為計算列。表達式中可以包含列名、算術(shù)運算符和括號。括號用來改變運算的優(yōu)先次含列名、算術(shù)運算符和括號。括號用來改變運算的優(yōu)先次序。常用的算術(shù)運算符包括:序
16、。常用的算術(shù)運算符包括:* +:加法運算符。:加法運算符。* -:減法運算符。:減法運算符。* *:乘法運算符。:乘法運算符。* /:除法運算符。:除法運算符。以下訓(xùn)練在查詢中使用了計算列。以下訓(xùn)練在查詢中使用了計算列。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練3】 顯示雇員工資上浮顯示雇員工資上浮20%的結(jié)果。的結(jié)果。輸入并執(zhí)行查詢輸入并執(zhí)行查詢:SELECT ename,sal,sal*(1+20/100) FROM emp;顯示結(jié)果為:顯示結(jié)果為:ENAME SAL SAL*(1+20/100)- - -SMITH 800 960ALL
17、EN 1600 1920說明:結(jié)果中共顯示了說明:結(jié)果中共顯示了3列,第列,第3列顯示工資上浮列顯示工資上浮20%的結(jié)果,的結(jié)果,它不是表中存在的列,而是計算產(chǎn)生的結(jié)果,稱為計算列。它不是表中存在的列,而是計算產(chǎn)生的結(jié)果,稱為計算列。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【練習(xí)練習(xí)2】顯示顯示EMP表的雇員名稱以及工資和津貼的和。表的雇員名稱以及工資和津貼的和。 4使用別名使用別名我們可以為表的列起一個別名,它的好處是,可以改變表頭的我們可以為表的列起一個別名,它的好處是,可以改變表頭的顯示。特別是對于計算列,可以為它起一個簡單的列別名以代替計顯示
18、。特別是對于計算列,可以為它起一個簡單的列別名以代替計算表達式在表頭的顯示。算表達式在表頭的顯示。【訓(xùn)練訓(xùn)練4】 在查詢中使用列別名。在查詢中使用列別名。輸入并執(zhí)行:輸入并執(zhí)行:SELECT ename AS 名稱名稱, sal 工資工資 FROM emp;顯示結(jié)果為:顯示結(jié)果為:名稱名稱 工資工資- -SMITH 800ALLEN 1600中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:表頭顯示的是列別名,轉(zhuǎn)換為漢字顯示。在列說明:表頭顯示的是列別名,轉(zhuǎn)換為漢字顯示。在列名和別名之間要用名和別名之間要用AS分隔,如分隔,如ename和它的別名和它的別
19、名“名稱名稱”之間用之間用AS隔開。隔開。AS也可以省略,如也可以省略,如sal和它的別名和它的別名“工資工資”之間用空格分割。之間用空格分割。注意:如果用空格分割,要區(qū)別好列名和別名,前面注意:如果用空格分割,要區(qū)別好列名和別名,前面為列名,后面是別名。為列名,后面是別名。別名如果含有空格或特殊字符或大小寫敏感,需要使別名如果含有空格或特殊字符或大小寫敏感,需要使用雙引號將它引起來。用雙引號將它引起來。 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練5】 在列別名上使用雙引號。在列別名上使用雙引號。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT
20、ename AS Name, sal*12+5000 AS 年度工資年度工資(加加年終獎年終獎) FROM emp;顯示結(jié)果為:顯示結(jié)果為:Name 年度工資年度工資(加年終獎加年終獎)- -SMITH 14600ALLEN 24200 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:其中別名說明:其中別名“Name”有大小寫的區(qū)別,別名有大小寫的區(qū)別,別名“年年度工資度工資(加年終獎加年終獎) ”中出現(xiàn)括號,屬于特殊符號,所以都需中出現(xiàn)括號,屬于特殊符號,所以都需要使用雙引號將別名引起。要使用雙引號將別名引起。【練習(xí)練習(xí)3】顯示顯示DEPT表的內(nèi)容,
21、使用別名將表頭轉(zhuǎn)換成表的內(nèi)容,使用別名將表頭轉(zhuǎn)換成中文顯示。中文顯示。5連接運算符連接運算符在前面,我們使用到了包含數(shù)值運算的計算列,顯示在前面,我們使用到了包含數(shù)值運算的計算列,顯示結(jié)果也是數(shù)值型的。我們也可以使用字符型的計算列,方結(jié)果也是數(shù)值型的。我們也可以使用字符型的計算列,方法是在查詢中使用連接運算。連接運算符是雙豎線法是在查詢中使用連接運算。連接運算符是雙豎線“|”。通過連接運算可以將兩個字符串連接在一起。通過連接運算可以將兩個字符串連接在一起。 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練6】 在查詢中使用連接運算。在查詢中使用連接
22、運算。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename|job AS 雇員和職務(wù)表雇員和職務(wù)表 FROM emp;輸出結(jié)果為:輸出結(jié)果為:雇員和職務(wù)表雇員和職務(wù)表-SMITHCLERKALLENSALESMAN中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:在本例中,雇員名稱和職務(wù)列被連接成為一個說明:在本例中,雇員名稱和職務(wù)列被連接成為一個列顯示。列顯示。在查詢中可以使用字符和日期的常量,表示固定的字在查詢中可以使用字符和日期的常量,表示固定的字符串或固定日期。字符和日期的常量需要用單引號引起。符串或固定日期。字符和日期的常量需要用單引號引起
23、。下一個訓(xùn)練是作為上一個訓(xùn)練的改進。下一個訓(xùn)練是作為上一個訓(xùn)練的改進。 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練7】 在查詢中使用字符串常量。在查詢中使用字符串常量。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECTename| IS |job AS 雇員和職務(wù)表雇員和職務(wù)表 FROM emp;輸出結(jié)果為:輸出結(jié)果為:雇員和職務(wù)表雇員和職務(wù)表-SMITH IS CLERKALLEN IS SALESMAN說明:本練習(xí)中將雇員名稱、字符串常量說明:本練習(xí)中將雇員名稱、字符串常量“ IS ”和雇員和雇員職務(wù)職務(wù)3個部分連接在一起。個部分連接在一起。
24、中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【練習(xí)練習(xí)4】顯示顯示DEPT表的內(nèi)容,按以下的形式表的內(nèi)容,按以下的形式: 部門部門ACCOUNTING所在的城市為所在的城市為NEW YORK 6消除重復(fù)行消除重復(fù)行如果在顯示結(jié)果中存在重復(fù)行,可以使用的關(guān)鍵字如果在顯示結(jié)果中存在重復(fù)行,可以使用的關(guān)鍵字DISTINCT消除重復(fù)顯示。消除重復(fù)顯示。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練8】 使用使用DISTINCT消除重復(fù)行顯示。消除重復(fù)行顯示。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT DISTIN
25、CT job FROM emp;結(jié)果為:結(jié)果為:JOB-ANALYSTCLERKMANAGERPRESIDENTSALESMAN中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:在本例中,如果不使用說明:在本例中,如果不使用DISTINCT關(guān)鍵字,將重復(fù)顯示關(guān)鍵字,將重復(fù)顯示雇員職務(wù),雇員職務(wù),DISTINCT關(guān)鍵字要緊跟在關(guān)鍵字要緊跟在SELECT之后。請去掉之后。請去掉DISTINCT關(guān)鍵字,重新執(zhí)行,并觀察顯示結(jié)果的不同。關(guān)鍵字,重新執(zhí)行,并觀察顯示結(jié)果的不同?!揪毩?xí)練習(xí)5】顯示顯示EMP表中不同的部門編號。表中不同的部門編號。2.2.2 查詢結(jié)果
26、的排序查詢結(jié)果的排序如果要在查詢的同時排序顯示結(jié)果,可以使用如下的語句:如果要在查詢的同時排序顯示結(jié)果,可以使用如下的語句:SELECT 字段列表字段列表 FROM 表名表名 WHERE 條件條件ORDER BY 字段名字段名1 ASC|DESC,字段名字段名2 ASC|DESC.;中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院ORDER BY從句后跟要排序的列。從句后跟要排序的列。ORDER BY 從句出現(xiàn)在從句出現(xiàn)在SELECT語句的最后。語句的最后。排序有升序和降序之分,排序有升序和降序之分,ASC表示升序排序,表示升序排序,DESC表示表示降序排序
27、。如果不指明排序順序,默認的排序順序為升序。降序排序。如果不指明排序順序,默認的排序順序為升序。如果要降序,必須書寫如果要降序,必須書寫DESC關(guān)鍵字。關(guān)鍵字。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院1升序排序升序排序 【訓(xùn)練訓(xùn)練1】 查詢雇員姓名和工資,并按工資從小到大排序。查詢雇員姓名和工資,并按工資從小到大排序。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename, sal FROM emp ORDER BY sal;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:ENAME SAL- -SMITH 800JAMES 950注意:若省略注意:若省略ASC和和DES
28、C,則默認為,則默認為ASC,即升序排序。,即升序排序。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2降序排序降序排序 【訓(xùn)練訓(xùn)練2】 查詢雇員姓名和雇傭日期,并按雇傭日期查詢雇員姓名和雇傭日期,并按雇傭日期排序,后雇傭的先顯示。排序,后雇傭的先顯示。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename,hiredate FROM emp ORDER BY hiredate DESC;結(jié)果如下:結(jié)果如下:ENAME HIREDATE- -ADAMS 23-5月月 -87SCOTT 19-4月月 -87中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省
29、電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院MILLER 23-1月月 -82JAMES 03-12月月-81FORD 03-12月月-81注意:注意: DESC表示降序排序,不能省略。表示降序排序,不能省略。 3多列排序多列排序可以按多列進行排序,先按第一列,然后按第二列、第三可以按多列進行排序,先按第一列,然后按第二列、第三列列.。 【訓(xùn)練訓(xùn)練3】 查詢雇員信息,先按部門從小到大排序,再按查詢雇員信息,先按部門從小到大排序,再按雇傭時間的先后排序。雇傭時間的先后排序。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename,deptno,hiredate FROM emp ORDER BY dept
30、no,hiredate;中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院結(jié)果如下:結(jié)果如下:ENAME DEPTNO HIREDATE- - -CLARK 10 09-6月月 -81KING 10 17-11月月-81MILLER 10 23-1月月 -82SMITH 20 17-12月月-80JONES 20 02-4月月 -81FORD 20 03-12月月-81SCOTT 20 19-4月月 -87說明:該排序是先按部門升序排序,部門相同的情況說明:該排序是先按部門升序排序,部門相同的情況下,再按雇傭時間升序排序。下,再按雇傭時間升序排序。中國電信廣東
31、公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院4在排序中使用別名在排序中使用別名如果要對計算列排序,可以為計算列指定別名,然后如果要對計算列排序,可以為計算列指定別名,然后按別名排序。按別名排序。 【訓(xùn)練訓(xùn)練4】 按工資和工作月份的乘積排序。按工資和工作月份的乘積排序。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:S E L E C T e m p n o , e n a m e , sal*Months_between(sysdate,hiredate) AS total FROM emp ORDER BY total;中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)
32、計院廣東省電信規(guī)劃設(shè)計院執(zhí)行結(jié)果為:執(zhí)行結(jié)果為: EMPNO ENAME TOTAL- - - 7876ADAMS 221526.006 7369 SMITH 222864.661 7900 JAMES 253680.817 7654 MARTIN 336532.484說明:求得雇員工作月份的函數(shù)說明:求得雇員工作月份的函數(shù)Months_between將在將在后面介紹。后面介紹。sysdate表示當(dāng)前日期。表示當(dāng)前日期。【練習(xí)練習(xí)1】將部門表中的部門名稱按字母順序顯示。將部門表中的部門名稱按字母順序顯示。 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2.
33、3 條件查詢 2.3.1 簡單條件查詢簡單條件查詢要對顯示的行進行限定,可在要對顯示的行進行限定,可在FROM從句后使用從句后使用WHERE從從句,在句,在WHERE從句中給出限定的條件,因為限定條件是一個表從句中給出限定的條件,因為限定條件是一個表達式,所以稱為條件表達式。條件表達式中可以包含比較運算,達式,所以稱為條件表達式。條件表達式中可以包含比較運算,表達式的值為真的記錄將被顯示。常用的比較運算符列于表表達式的值為真的記錄將被顯示。常用的比較運算符列于表2-2中。中。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-2 比 較 運 算 符運算符
34、功 能 實 例 ,2000 =.=2000 = 等于 Select * from emp where deptno=10 !=,= 不等于 Select * from emp where deptno!=10 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練1】 顯示職務(wù)為顯示職務(wù)為“SALESMAN”的雇員的姓名、的雇員的姓名、職務(wù)和工資。職務(wù)和工資。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename,job,sal FROM emp WHERE job=SALESMAN;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:ENAME JOB SAL- - -ALLE
35、N SALESMAN 1600WARD SALESMAN 1250MARTIN SALESMAN 1250TURNER SALESMAN 1500中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:結(jié)果只顯示職務(wù)為說明:結(jié)果只顯示職務(wù)為“SALESMAN”的雇員。字符的雇員。字符串和日期型數(shù)據(jù)的值是包含在單引號中的,如串和日期型數(shù)據(jù)的值是包含在單引號中的,如SALESMAN,需要用單引號引起。字符的值對大小寫敏感,在需要用單引號引起。字符的值對大小寫敏感,在emp表中表中存放的職務(wù)字符串全部是大寫。存放的職務(wù)字符串全部是大寫。注意:在本練習(xí)中,如果注意:在
36、本練習(xí)中,如果SALESMAN寫成小寫或大小寫寫成小寫或大小寫混合,將不會有查詢結(jié)果輸出?;旌希瑢⒉粫胁樵兘Y(jié)果輸出。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練2】 顯示工資大于等于顯示工資大于等于3000的雇員姓名、職務(wù)和工資。的雇員姓名、職務(wù)和工資。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename, job,sal FROM emp WHERE sal=3000;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:ENAME JOB SAL- - -SCOTT ANALYST 3000KING PRESIDENT 5000FORD ANALYST 3000中
37、國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:結(jié)果只顯示工資大于等于說明:結(jié)果只顯示工資大于等于3000的雇員。的雇員。缺省中文日期格式為缺省中文日期格式為DD-MM月月-YY,如,如2003年年1月月10日應(yīng)該表日應(yīng)該表示為示為“10-1月月-03”?!居?xùn)練訓(xùn)練3】 顯示顯示1982年以后雇傭的雇員姓名和雇傭時間。年以后雇傭的雇員姓名和雇傭時間。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename,hiredate FROM emp WHERE hiredate=1-1月月-82;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:ENAME HIREDATE- -中國電信
38、廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院SCOTT 19-4月月 -87ADAMS 23-5月月 -87MILLER 23-1月月 -82 說明:檢查說明:檢查hiredate字段的內(nèi)容,都在字段的內(nèi)容,都在82年以后。年以后?!揪毩?xí)練習(xí)1】顯示部門編號為顯示部門編號為10的雇員姓名和雇傭時間。的雇員姓名和雇傭時間。 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2.3.2 復(fù)合條件查詢復(fù)合條件查詢可以用邏輯運算符構(gòu)成復(fù)合的條件查詢,即把兩個或可以用邏輯運算符構(gòu)成復(fù)合的條件查詢,即把兩個或多個條件,用邏輯運算符連接成一個
39、條件。有多個條件,用邏輯運算符連接成一個條件。有3個邏輯運算個邏輯運算符,如表符,如表2-3所示。所示。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-3 邏輯運算符運算符 說 明 實 例 AND 邏輯與,表示兩個條件必須同時滿足 Select * from emp where sal1000 and sal1000 AND sal1000 AND sal1000 AND 2000。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【練習(xí)練習(xí)1】顯示部門顯示部門10中工資大于中工資大于1500的雇員。的雇員。2使用邏輯
40、或使用邏輯或下面是使用邏輯或運算的練習(xí)。下面是使用邏輯或運算的練習(xí)?!居?xùn)練訓(xùn)練2】 顯示職務(wù)為顯示職務(wù)為CLERK或或MANAGER的雇員信息。的雇員信息。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT * FROM emp WHERE job=CLERK OR job=MANAGER;執(zhí)行結(jié)果從略。執(zhí)行結(jié)果從略。說明:檢索職務(wù)為說明:檢索職務(wù)為CLERK或或MANAGER的雇員,需要使用的雇員,需要使用OR運算,請自行察看結(jié)果。運算,請自行察看結(jié)果。注意:條件注意:條件job=CLERK OR job=MANAGER不能寫成不能寫成job=CLERK OR MANAGER。中國電信廣東公司中國
41、電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院3使用邏輯非使用邏輯非下面是使用邏輯非運算的練習(xí)。下面是使用邏輯非運算的練習(xí)。【訓(xùn)練訓(xùn)練3】 顯示部門顯示部門10以外的其他部門的雇員。以外的其他部門的雇員。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT * FROM emp WHERE NOT deptno=10;執(zhí)行結(jié)果從略。執(zhí)行結(jié)果從略。說明:執(zhí)行結(jié)果包含部門編號不等于說明:執(zhí)行結(jié)果包含部門編號不等于10的其他部門的的其他部門的雇員,請自行察看結(jié)果。雇員,請自行察看結(jié)果。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院4使用邏輯或和邏輯與使
42、用邏輯或和邏輯與下面是同時使用邏輯或和邏輯與的復(fù)合練習(xí)。下面是同時使用邏輯或和邏輯與的復(fù)合練習(xí)。【訓(xùn)練訓(xùn)練4】 顯示部門顯示部門10和部門和部門20中工資小于中工資小于1500的雇的雇員。員。輸入并執(zhí)行查詢輸入并執(zhí)行查詢SELECT * FROM emp WHERE (deptno=10 OR deptno=20) AND sal=、 、等 Select * from emp Where sal=、等 Select*from emp Where sal0;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為: EMPNO ENAME LENGTH(ENAME)- - - 7369 SMITH 5 7566 JONES 5中
43、國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練4】 顯示雇員名稱中包含顯示雇員名稱中包含“S”的雇員名稱及名稱長的雇員名稱及名稱長度。度。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT empno,ename,length(ename) FROM empWHERE instr(ename, S, 1, 1)0;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為: EMPNO ENAME LENGTH(ENAME)- - - 7369 SMITH 5 7566 JONES 5中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:本例在字段列表和
44、查詢條件中分別應(yīng)用了函數(shù)說明:本例在字段列表和查詢條件中分別應(yīng)用了函數(shù)length和和instr。Length函數(shù)返回函數(shù)返回ename的長度。的長度。instr(ename,S1,1)函數(shù)返回函數(shù)返回ename中從第一個字符位置開始,中從第一個字符位置開始,字符串字符串“S”第一次出現(xiàn)的位置。如果函數(shù)返回第一次出現(xiàn)的位置。如果函數(shù)返回0,則說明,則說明ename中不包含字符串中不包含字符串“S”;如果函數(shù)返回值大于;如果函數(shù)返回值大于0,則說,則說明明ename中包含字符串中包含字符串“S”。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【練習(xí)練習(xí)1】顯
45、示部門表中部門和所在城市列表,中間以顯示部門表中部門和所在城市列表,中間以下劃線下劃線“_”連接,城市名轉(zhuǎn)換成以大寫字母開頭。連接,城市名轉(zhuǎn)換成以大寫字母開頭。2.4.3 日期型函數(shù)日期型函數(shù)Oracle使用內(nèi)部數(shù)字格式來保存時間和日期,包括世紀(jì)、使用內(nèi)部數(shù)字格式來保存時間和日期,包括世紀(jì)、年、月、日、小時、分、秒。缺省日期格式為年、月、日、小時、分、秒。缺省日期格式為 DD-MON-YY,如如“08-05月月-03”代表代表2003年年5月月8日。日。SYSDATE是返回系統(tǒng)日期和時間的虛列函數(shù)。是返回系統(tǒng)日期和時間的虛列函數(shù)。使用日期的加減運算,可以實現(xiàn)如下功能:使用日期的加減運算,可以實
46、現(xiàn)如下功能:* 對日期的值加減一個天數(shù),得到新的日期。對日期的值加減一個天數(shù),得到新的日期。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院* 對兩個日期相減,得到相隔天數(shù)。對兩個日期相減,得到相隔天數(shù)。* 通過加小時來增加天數(shù),通過加小時來增加天數(shù),24小時為一天,如小時為一天,如12小時可小時可以寫成以寫成12/24(或或0.5)。還有如表還有如表2-7所示的日期函數(shù)可以使用。所示的日期函數(shù)可以使用。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-7 日期函數(shù)函 數(shù) 功 能 實 例 結(jié) 果 months_betw
47、een 返回兩個日期間的 月份 months_between (04-11月-05,11-1月-01) 57.7741935 add_months 返回把月份數(shù)加到日期上的新日期 add_months(06-2月-03,1) add_months(06-2月-03,-1) 06-3月-03 06-1月-03 next_day 返回指定日期后的星期對應(yīng)的新日期 next_day(06-2月-03,星期一) 10-2月-03 last_day 返回指定日期所在的月的最后一天 last_day(06-2月-03) 28-2月-03 round 按指定格式對日期進行四舍五入 round(to_date
48、(13-2月-03),YEAR) round(to_date(13-2月-03),MONTH) round(to_date(13-2月-03),DAY) 01-1月-03 01-2月-03 16-2月-03 (按周四舍五入) trunc 對日期按指定方式進行截斷 trunc(to_date(06-2月-03),YEAR) trunc(to_date(06-2月-03),MONTH) trunc(to_date(06-2月-03),DAY) 01-1月-03 01-2月-03 02-2月-03 (按周截斷) 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)
49、練訓(xùn)練1】 返回系統(tǒng)的當(dāng)前日期。返回系統(tǒng)的當(dāng)前日期。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT sysdate FROM dual;返回結(jié)果為:返回結(jié)果為:SYSDATE -06-2月月-03說明:該查詢返回執(zhí)行該查詢時的數(shù)據(jù)庫服務(wù)器的系說明:該查詢返回執(zhí)行該查詢時的數(shù)據(jù)庫服務(wù)器的系統(tǒng)當(dāng)前時間,日期顯示格式為默認格式,如統(tǒng)當(dāng)前時間,日期顯示格式為默認格式,如“06-2月月-03”表表示示03年年2月月6日。日。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練2】 返回返回2003年年2月的最后一天。月的最后一天。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:S
50、ELECT last_day(08-2月月-03) FROM dual;返回結(jié)果為:返回結(jié)果為:LAST_DAY(-28-2月月-03說明:該函數(shù)給定參數(shù)為某月份的任意一天,返回時說明:該函數(shù)給定參數(shù)為某月份的任意一天,返回時間為該月份的最后一天。本例中,參數(shù)為間為該月份的最后一天。本例中,參數(shù)為03年年2月月8號,返號,返回日期為回日期為03年年2月月28日,是該月的最后一天。日,是該月的最后一天。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練3】 假定當(dāng)前的系統(tǒng)日期是假定當(dāng)前的系統(tǒng)日期是2003年年2月月6日,求日,求再過再過1000天的日期
51、。天的日期。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT sysdate+1000 AS NEW DATE FROM dual;返回結(jié)果為:返回結(jié)果為:NEW DATE-04-11月月-05 說明:該查詢使用到了日期的加法運算,求經(jīng)過一定說明:該查詢使用到了日期的加法運算,求經(jīng)過一定天數(shù)后的新日期。天數(shù)后的新日期。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練4】 假定當(dāng)前的系統(tǒng)日期是假定當(dāng)前的系統(tǒng)日期是2003年年2月月6日,顯示部門日,顯示部門10雇員的雇傭天數(shù)。雇員的雇傭天數(shù)。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT ename, ro
52、und(sysdate-hiredate) DAYSFROM empWHERE deptno = 10;返回結(jié)果為:返回結(jié)果為:ENAME DAYS- -CLARK 7913KING 7752MILLER 7685說明:該查詢使用日期的減法運算求兩個日期的相差天數(shù)。說明:該查詢使用日期的減法運算求兩個日期的相差天數(shù)。用用round函數(shù)對天數(shù)進行四舍五入。函數(shù)對天數(shù)進行四舍五入。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【練習(xí)練習(xí)1】顯示雇員名稱和雇傭的星期數(shù)。顯示雇員名稱和雇傭的星期數(shù)。【練習(xí)練習(xí)2】顯示從本年顯示從本年1月月1日開始到現(xiàn)在經(jīng)過的天數(shù)日
53、開始到現(xiàn)在經(jīng)過的天數(shù)(當(dāng)前時間取當(dāng)前時間取SYSDATE的值的值)。2.4.4 轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)Oracle的類型轉(zhuǎn)換分為自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換。的類型轉(zhuǎn)換分為自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換。常用的類型轉(zhuǎn)換函數(shù)有常用的類型轉(zhuǎn)換函數(shù)有TO_CHAR、TO_DATE或或TO_NUMBER,如表如表2-8所示。所示。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-8 類型轉(zhuǎn)換函數(shù)函 數(shù) 功 能 實 例 結(jié) 果 To_char 轉(zhuǎn)換成字符串類型 To_char(1234.5, $9999.9) $1234.5 To_date 轉(zhuǎn)換成日期類型 To_date(1
54、980-01-01, yyyy-mm-dd) 01-1月-80 To_number 轉(zhuǎn)換成數(shù)值類型 To_number(1234.5) 1234.5 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院1自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換Oracle可以自動根據(jù)具體情況進行如下的轉(zhuǎn)換:可以自動根據(jù)具體情況進行如下的轉(zhuǎn)換:* 字符串到數(shù)值。字符串到數(shù)值。* 字符串到日期。字符串到日期。* 數(shù)值到字符串。數(shù)值到字符串。* 日期到字符串。日期到字符串。以下是自動轉(zhuǎn)換的訓(xùn)練。以下是自動轉(zhuǎn)換的訓(xùn)練。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院
55、【訓(xùn)練訓(xùn)練1】 自動轉(zhuǎn)換字符型數(shù)據(jù)到數(shù)值型。自動轉(zhuǎn)換字符型數(shù)據(jù)到數(shù)值型。輸入并執(zhí)行查詢:輸入并執(zhí)行查詢:SELECT 12.5+11 FROM dual;執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:12.5+11- 23.5說明:在本訓(xùn)練中,因為出現(xiàn)說明:在本訓(xùn)練中,因為出現(xiàn)+運算符,說明進行的是運算符,說明進行的是算術(shù)運算,所以字符串算術(shù)運算,所以字符串12.5被自動轉(zhuǎn)換成數(shù)值被自動轉(zhuǎn)換成數(shù)值12.5,然后,然后參加運算。參加運算。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練2】 自動轉(zhuǎn)換數(shù)值型數(shù)據(jù)到字符型。自動轉(zhuǎn)換數(shù)值型數(shù)據(jù)到字符型。執(zhí)行以下查詢:執(zhí)行以下查詢
56、:SELECT 12.5|11 FROM dual;結(jié)果為:結(jié)果為:12.5-12.511說明:在本訓(xùn)練中,因為出現(xiàn)說明:在本訓(xùn)練中,因為出現(xiàn)|運算符,說明進行的運算符,說明進行的是字符串連接運算,數(shù)值是字符串連接運算,數(shù)值11被自動轉(zhuǎn)換成字符串被自動轉(zhuǎn)換成字符串11,然后,然后參加運算。參加運算。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院2日期類型轉(zhuǎn)換日期類型轉(zhuǎn)換將日期型轉(zhuǎn)換成字符串時,可以按新的格式顯示。將日期型轉(zhuǎn)換成字符串時,可以按新的格式顯示。如格式如格式Y(jié)YYY-MM-DD HH24:MI:SS表示表示“年年-月月-日日 小時小時:分鐘分鐘:
57、秒秒”。Oracle的日期類型是包含時間在內(nèi)的。的日期類型是包含時間在內(nèi)的。主要的日期格式字符的含義如表主要的日期格式字符的含義如表2-9所示。所示。中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-9 日期轉(zhuǎn)換格式字符代 碼 代表的格式 例 子 AM、PM 上午、下午 08 AM D 數(shù)字表示的星期(17) 1,2,3,4,5,6,7 DD 數(shù)字表示月中的日期(131) 1,2,3,31 MM 兩位數(shù)的月份 01,02,12 Y、 YY、 YYY、 YYYY 年份的后幾位 3,03,003,2003 RR 解決 Y2K 問題的年度轉(zhuǎn)換 DY 簡寫的星期
58、名 MON,TUE,FRI, DAY 全拼的星期名 MONDAY,TUESDAY, 中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院表2-9 日期轉(zhuǎn)換格式字符MON 簡寫的月份名 JAN,FEB,MAR, MONTH 全拼的月份名 JANUARY,FEBRUARY, HH、HH12 12小時制的小時(112) 1,2,3,12 HH24 24小時制的小時(023) 0,1,2,23 MI 分(059) 0,1,2,59 SS 秒(059) 0,1,2,59 ,./-;: 原樣顯示的標(biāo)點符號 TEXT 引號中的文本原樣顯示 TEXT 中國電信廣東公司中國電信廣
59、東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院【訓(xùn)練訓(xùn)練3】 將日期轉(zhuǎn)換成帶時間和星期的字符串并顯將日期轉(zhuǎn)換成帶時間和星期的字符串并顯示。示。執(zhí)行以下查詢:執(zhí)行以下查詢:SELECT TO_CHAR(sysdate,YYYY-MM-DD HH24:MI:SS AM DY) FROM dual;結(jié)果為:結(jié)果為:TO_CHAR(SYSDATE,YYYY-MM-DD HH24-2004-02-07 15:44:48 下午下午 星期六星期六中國電信廣東公司中國電信廣東公司綜合部綜合部廣東省電信規(guī)劃設(shè)計院廣東省電信規(guī)劃設(shè)計院說明:該語句中的第一個參數(shù)表示要轉(zhuǎn)換的日期,第二說明:該語句中的第一
60、個參數(shù)表示要轉(zhuǎn)換的日期,第二個參數(shù)是格式字符串,表示轉(zhuǎn)換后的格式,結(jié)果類型為字符個參數(shù)是格式字符串,表示轉(zhuǎn)換后的格式,結(jié)果類型為字符串。串?!癥YYY”為為4位的年份,位的年份,“MM”為兩位的月份,為兩位的月份,“DD”為為兩位的日期,兩位的日期,“HH24”表示顯示表示顯示24小時制的小時小時制的小時,“MI”表示顯表示顯示分鐘,示分鐘,“SS”表示顯示秒,表示顯示秒,“AM”表示顯示上午或下午表示顯示上午或下午(本本例中為下午例中為下午),“DY”表示顯示星期。表示顯示星期?!?”、“:”和空格原樣和空格原樣顯示,用于分割日期和時間。轉(zhuǎn)換出來的系統(tǒng)時間為:顯示,用于分割日期和時間。轉(zhuǎn)換出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版校企合作數(shù)字內(nèi)容制作與傳播技能培訓(xùn)協(xié)議2篇
- 二零二五年度股權(quán)代持資產(chǎn)監(jiān)管委托協(xié)議3篇
- 2025版金屬礦床探礦權(quán)轉(zhuǎn)讓合同協(xié)議3篇
- 2025版消防技術(shù)服務(wù)與咨詢合同3篇
- 二零二五年度人工智能教育平臺個人技術(shù)入股合同2篇
- 垃圾食品我不吃安全教育
- 二零二五年度智能家居系統(tǒng)定制個人房屋裝修合同范本2篇
- 二零二五版物業(yè)服務(wù)行業(yè)員工保密協(xié)議規(guī)范3篇
- 二零二五年度農(nóng)業(yè)產(chǎn)業(yè)股權(quán)投資及投資合同規(guī)范3篇
- 二零二五版現(xiàn)代學(xué)徒制協(xié)議書-新能源電動汽車研發(fā)與制造3篇
- 注塑部質(zhì)量控制標(biāo)準(zhǔn)全套
- 受賄案例心得體會
- 人教A版高中數(shù)學(xué)選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習(xí)題含答案解析
- 圖書館學(xué)基礎(chǔ)簡明教程
- 畢業(yè)設(shè)計(論文)-液體藥品灌裝機的設(shè)計與制造
- 銀行網(wǎng)點服務(wù)禮儀標(biāo)準(zhǔn)培訓(xùn)課件
- 二年級下冊數(shù)學(xué)教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
- 銀行內(nèi)部舉報管理規(guī)定
- 石群邱關(guān)源電路(第1至7單元)白底課件
- 平面幾何強化訓(xùn)練題集:初中分冊數(shù)學(xué)練習(xí)題
評論
0/150
提交評論