已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
,8.3.1 Oracle的數(shù)據(jù)類型 8.3.2 Oracle常量、變量和表達(dá)式 8.3.3 Oracle內(nèi)置函數(shù) 8.3.4 Oracle的啞表與偽列,8.3 Oracle數(shù)據(jù)庫(kù)基礎(chǔ),1字符型 用來(lái)存儲(chǔ)字符串或字符數(shù)據(jù),主要類型有VARCHAR2、CHAR和LONG。 (1)VARCHAR2 用來(lái)存儲(chǔ)可變長(zhǎng)的字符串或字符型數(shù)據(jù),在使用時(shí),須指明其最大字節(jié)數(shù)據(jù)。 (2)CHAR 用來(lái)存儲(chǔ)定長(zhǎng)的字符串或字符型數(shù)據(jù),使用時(shí)也要指定長(zhǎng)度,其缺省值為1。 (3)LONG 用來(lái)存儲(chǔ)可變長(zhǎng)的字符串或字符型數(shù)據(jù)。,8.3.1 Oracle的數(shù)據(jù)類型,2數(shù)字型 數(shù)字型用于存儲(chǔ)整數(shù)或?qū)崝?shù)。主要有:number、BINARY_INTEGER (1)NUMER 用于存儲(chǔ)數(shù)字?jǐn)?shù)據(jù),包括整數(shù)或浮點(diǎn)數(shù)。在實(shí)際應(yīng)用中,應(yīng)指定該類型數(shù)據(jù)長(zhǎng)度和小數(shù)的位數(shù)。在Oracle中其指定的長(zhǎng)度不包含小數(shù)點(diǎn)和符號(hào)位。 (2)BINARY_INTEGER 它是PL/SQL的一個(gè)數(shù)據(jù)類型,它用于帶符號(hào)的整數(shù)值,以2的補(bǔ)碼的二進(jìn)制形式進(jìn)行存儲(chǔ)。,8.3.1 Oracle的數(shù)據(jù)類型,3日期型 DATE型用于存儲(chǔ)日期和時(shí)間信息,包括世紀(jì)、和、月、日、時(shí)、分、秒,其占7個(gè)字節(jié),每一部分占一個(gè)字節(jié)。 4RAW和LONG RAW RAW和LONG RAW用來(lái)存儲(chǔ)二進(jìn)制數(shù)據(jù)。 (1)RAW RAW類似于CHAR,必須指定存儲(chǔ)二進(jìn)制數(shù)的最大字節(jié)數(shù)。 (2)LONG RAW LONG RAW類似于LONG。,8.3.1 Oracle的數(shù)據(jù)類型,5ROWID 數(shù)據(jù)庫(kù)表中的每一行(ROW)都有一個(gè)地址,通過(guò)查詢偽列ROWID獲得該行地址。該偽列的值為16進(jìn)制字符串,該串的數(shù)據(jù)類型為ROWID。其字符值的形式為:BLOCK.ROW.FILE。 6 布爾型 在表中無(wú)布爾型的字段類型,只有在PL/SQL中可以定義BOOLEAN型,它的值為T(mén)RUE、FALSE、NULL。在定義BOOLEAN型變量時(shí)可限定變量為NOT NULL,但此時(shí)必須為該變量初始化。,8.3.1 Oracle的數(shù)據(jù)類型,7復(fù)合類型 (1)記錄 記錄定義的格式如下: TYPE Record_type IS RECORD( Field1 Datatype1 NOT NULL:=Expression1, Field2 Datatype2 NOT NULL:=Expression2, ); 在上述格式中Record_type是一種定義的記錄類型。 如果要定義記錄類型的變量與已建立的某一關(guān)系表結(jié)構(gòu)一致,可使用下列定義: Record_typename table_name%ROWTYPE;,8.3.1 Oracle的數(shù)據(jù)類型,(2) 表 PL/SQL中的表類似于C語(yǔ)言中的數(shù)組,并與其數(shù)組的處理方式類似,但實(shí)現(xiàn)方法不同。表必須定義該表類型,再聲明一個(gè)屬于該類型的變量,然后才能引用。定義表類型的格式如下: TYPE Table_type IS TABLE OF type INDEX BY BINARY_INTEGER; 一個(gè)PL/SQL表類似于數(shù)據(jù)庫(kù)中的一個(gè)只有兩列的表,一列的類型為BINARY_INTEGER,另一列的類型為定義中指定的類型。,8.3.1 Oracle的數(shù)據(jù)類型,8LOB類型 LOB類型用來(lái)存儲(chǔ)大型的對(duì)象,它可以是一個(gè)二進(jìn)制數(shù)值或字符型值,其最大長(zhǎng)度為4GB。LOB可包含沒(méi)有結(jié)構(gòu)特征的數(shù)據(jù),對(duì)它的訪問(wèn)比對(duì)LONG 或LONG RAW數(shù)據(jù)的訪問(wèn)更為有效,對(duì)它的限制更少。 9自定義子類型 PL/SQL中除可使用預(yù)定義的子類型外,用戶自己可以定義子類型,其格式為: SUBTYPE new_type IS original_type ;,8.3.1 Oracle的數(shù)據(jù)類型,10使用%TYPE 在許多情況下,PL/SQL變量可以用來(lái)處理存儲(chǔ)在數(shù)據(jù)庫(kù)表中的數(shù)據(jù),因而該變量類型與表中相應(yīng)字段的數(shù)據(jù)類型相同??墒褂?TYPE說(shuō)明某一變量與表中字段類型相同。其格式為: variety_name table_name.field_name%TYPE;,8.3.1 Oracle的數(shù)據(jù)類型,在Oracle中把值存儲(chǔ)在常量和變量中,常量的值不能改變,變量的值可以改變。變量可分為字段變量和內(nèi)存變量。用到的常量與變量必須定義,在定義時(shí)須指明它的數(shù)據(jù)類型。 Oracle中的表達(dá)式與在第 4章中介紹了SQL中的表達(dá)式相同,在此不重述。但在Oracle使用表達(dá)式時(shí)應(yīng)注意NULL與其它數(shù)據(jù)的運(yùn)算。NULL與任何類型數(shù)據(jù)作運(yùn)算其結(jié)果均為NULL。,8.3.2 Oracle常量、變量和表達(dá)式,但NULL 具有以下特點(diǎn): (1) 等價(jià)于沒(méi)有任何值; (2) 與 0、空字符串或空格不同; (3) 在WHERE條件中, Oracle認(rèn)為結(jié)果為NULL的條件為FALSE,帶有這樣條件的SELECT語(yǔ)句不返回行,并且不返回錯(cuò)誤信息,但NULL和FALSE是不同的; (4)排序時(shí)比其他數(shù)據(jù)都大; (5)空值不能被索引。雖然在某列上建立了索引,但是對(duì)該列的空值查詢來(lái)說(shuō),因?yàn)榭罩禌](méi)有被索引,所以不能改善查詢的效率。,8.3.2 Oracle常量、變量和表達(dá)式,Oracle中提供了豐富的函數(shù),除少數(shù)幾個(gè)與SQL函數(shù)不同外,其余均相同。 1LENGTH與LENGTHB 上述兩個(gè)函數(shù)都是求出字符串的長(zhǎng)度,但返回結(jié)果可能不一樣。LENGTHB返回的長(zhǎng)度單位為字節(jié),而不是字符。LENGTH則返回的值為字符串中字符的個(gè)數(shù)。 2SUBSTR與SUBSTRB SUBSTR函數(shù)據(jù)是從目標(biāo)字符串中某個(gè)字符開(kāi)始取出指定字符個(gè)數(shù)的子串,而SUBSTRB函數(shù)據(jù)是從目標(biāo)字符串中某個(gè)字節(jié)開(kāi)始取出指定字節(jié)個(gè)數(shù)的子串。,8.3.3 Oracle內(nèi)置函數(shù),3INSTR與INSTRB INSTR與INSTRB均是從指定字符串中的指定位置開(kāi)始查找出現(xiàn)指定次數(shù)的字符串,它們的區(qū)別與SUBSTR與SUBSTRB區(qū)別相同。 4TO_DATE TO_DATE將一個(gè)字符串轉(zhuǎn)換成一個(gè)日期型數(shù)據(jù)。其格式為: TO_DATE(string,format) 其中第一個(gè)參數(shù)是要轉(zhuǎn)換的字符串,第二個(gè)參數(shù)為指定轉(zhuǎn)換的格式,若未指定格式,則使用系統(tǒng)的缺省格式。,8.3.3 Oracle內(nèi)置函數(shù),5NVL 判斷某一變量是否為空時(shí)可使用IS NULL 或IS NOT NULL,但它不能用于函數(shù)。Oracle提供了函數(shù)NVL,其語(yǔ)法為: NVL(Expression1, Expression2) 6DECODE 該函數(shù)類似于一系統(tǒng)嵌套函數(shù),其語(yǔ)法為: DECODE(Base_expression , Compare_expression1,Value1, Compare_expression2,Value2, Compare_expressionn,Valuen,DEFAULT),8.3.3 Oracle內(nèi)置函數(shù),7UID UID函數(shù)沒(méi)有參數(shù),它返回唯一標(biāo)識(shí)當(dāng)前數(shù)據(jù)庫(kù)用戶的整數(shù)。 8USER 該函數(shù)沒(méi)有參數(shù),它返回當(dāng)前Oracle用戶的名字。 9分組函數(shù) 分組函數(shù)忽略空值。在實(shí)際應(yīng)用中,根據(jù)需要可利用NVL函數(shù)用零代替空值。,8.3.3 Oracle內(nèi)置函數(shù),1啞表(DUAL) Oracle中經(jīng)常要使用常量或偽列來(lái)說(shuō)明函數(shù)的某些功能,或使用其它開(kāi)發(fā)工具調(diào)用Oracle與表無(wú)關(guān)的一些函數(shù)、過(guò)程等時(shí),如調(diào)用Oracle的系統(tǒng)日期函數(shù)SYSDATE,SELECT語(yǔ)句并不關(guān)心那一行在表中,只要一條記錄就足夠了。為此,Oracle提供了DUAL表。該表只包含一個(gè)字段和一條記錄。使用它容易解決與表無(wú)關(guān)的一些查詢問(wèn)題。,8.3.4 Oracle的啞表與偽列,2偽列(Pseudo_column) 一個(gè)偽列是在查詢時(shí)產(chǎn)生一個(gè)值的“列”,它的處理方式與表中一個(gè)字段的處理方式類似,但它不是表中的一個(gè)真正字段。Oracle中目前使用下列偽列: (1)SYSDATE SYSDATE是一個(gè)內(nèi)置函數(shù),它返回Oracle系統(tǒng)的日期與時(shí)間。在開(kāi)實(shí)際系統(tǒng)發(fā)時(shí),應(yīng)使用該函數(shù),而不應(yīng)使用開(kāi)發(fā)工具提供的函數(shù),調(diào)用用戶端機(jī)器上的日期與時(shí)間。 (2)UID與USER 這是在本章前面介紹過(guò)的兩個(gè)函數(shù)。 (3)NULL 表示空值。應(yīng)注意它與其它數(shù)據(jù)的運(yùn)算及對(duì)一些函數(shù)值的影響。具體請(qǐng)參閱本章前面的討論。,8.3.4 Oracle的啞表與偽列,(4)CURRVAL與NEXTVAL 這兩個(gè)偽列與序號(hào)一起使用,表示返回序號(hào)的當(dāng)前值和下一個(gè)值。具體使用方法參見(jiàn)第5節(jié)。 (5)LEVEL 該偽列主要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)越野車燈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)水份測(cè)試儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)商用熱風(fēng)燒烤微波爐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2031年中國(guó)酵母樣真菌同化試驗(yàn)鑒定板行業(yè)投資前景及策略咨詢研究報(bào)告
- 黃連提取物小檗堿增強(qiáng)腸干細(xì)胞功能促進(jìn)放射性腸炎再生修復(fù)的作用及機(jī)制研究
- 2025年度個(gè)人電梯公寓租賃及裝修改造合同
- 2025年中國(guó)智能服飾行業(yè)市場(chǎng)全景評(píng)估及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 2025年天然負(fù)離子發(fā)生器片行業(yè)深度研究分析報(bào)告
- 2025年度船舶股份投資與管理合作協(xié)議3篇
- 2025年度個(gè)人購(gòu)房貸款擔(dān)保協(xié)議范本3篇
- 二零二五年度無(wú)人駕駛車輛測(cè)試合同免責(zé)協(xié)議書(shū)
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 高三日語(yǔ)一輪復(fù)習(xí)助詞「と」的用法課件
- 毛渣采購(gòu)合同范例
- 無(wú)子女離婚協(xié)議書(shū)范文百度網(wǎng)盤(pán)
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 五年級(jí)上冊(cè)小數(shù)遞等式計(jì)算200道及答案
- 2024年廣東高考政治真題考點(diǎn)分布匯 總- 高考政治一輪復(fù)習(xí)
- 燃?xì)夤艿滥甓葯z驗(yàn)報(bào)告
- GB/T 44052-2024液壓傳動(dòng)過(guò)濾器性能特性的標(biāo)識(shí)
- 國(guó)際市場(chǎng)營(yíng)銷環(huán)境案例分析
評(píng)論
0/150
提交評(píng)論