全面概括Oracle數(shù)據(jù)類型
Oracle經(jīng)過長時間的發(fā)展,很多用戶都很了解Oracle數(shù)據(jù)類型了,這里我發(fā)表一下個人理解,和大家討論討論。在數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表的時候,我們需要定義表中所有字段的類型,Oracle數(shù)據(jù)類型大致分為:character,numberic,date,lob和raw等,這些是最基本的Oracle數(shù)據(jù)類型。當(dāng)然在Oracle中也允許自定義數(shù)據(jù)類型!
在Oracle中提供的character數(shù)據(jù)類型:
◆char(<size>:固定長度字符串,***長度為2000字節(jié),如果不指定長充,缺省為1個字節(jié)長。
◆varchar2(<size>:可變長度的字符串,***長度為4000字節(jié),具體定義時指明***長度,這種類型可以放數(shù)字、字母以及ASCII碼字符集(或者EBCDIC等數(shù)據(jù)庫系統(tǒng)接受的字符集標(biāo)準(zhǔn))中的所有符號。如果數(shù)據(jù)長度沒有達(dá)到***值,Oracle會根據(jù)數(shù)據(jù)大小自動調(diào)節(jié)字段長度。是最長用的數(shù)據(jù)類型。
◆nchar(<size>:根據(jù)字符集而定的固定長度字符串,***長度2000字節(jié)。
◆nvarchar2(<size>:根據(jù)字符集而定的可變長度字符串,***長度4000字節(jié)。
◆long:可變長字符列,***長度限制為2GB,用于不需要作字符串搜索的長串?dāng)?shù)據(jù)。此類型是一個遺留下來的而且將來不會被支持的數(shù)據(jù)類型,逐漸被BLOB,CLOB,NCLOB等大的數(shù)據(jù)類型所取代。
numberic數(shù)據(jù)類型用來存儲負(fù)的和正的整數(shù),分?jǐn)?shù)和浮點(diǎn)型數(shù)據(jù),在Oracle中提供的numberic數(shù)據(jù)類型:
number(<m>,<n>:可變長的數(shù)值列,允許0、正值及負(fù)值,m是所有的有效數(shù)字的位數(shù),n是小數(shù)點(diǎn)以后的位數(shù)。
在Oracle中提供的date數(shù)據(jù)類型:
date:缺省格式是dd-mon-yy(日-月-年)
在Oracle中提供的lob數(shù)據(jù)類型:
◆blob、clob、nclob:三種大型對象(lob),用來保存較大的圖形文件或帶格式的文本文件,如word文檔,以及音頻、視頻等非文本文件,***長充是4GB。暈些數(shù)據(jù)存儲在數(shù)據(jù)庫內(nèi)部保存。
◆bfile:在數(shù)據(jù)庫外部保存的大型二進(jìn)制對象文件,***長度是4GB,這種外部的LOB類型,通過數(shù)據(jù)庫記錄變化情況,但是數(shù)據(jù)的具體保存是在數(shù)據(jù)庫外部進(jìn)行的。
在Oracle中提供的raw數(shù)據(jù)類型:
◆raw(<size>:可變長二進(jìn)制數(shù)據(jù),具體定義字段時必須指明***長度,這種格式用來保存較小的圖形文件或帶格式的文本文件,它也是一種較老的數(shù)據(jù)類型,將被lob數(shù)據(jù)類型所取代。
◆long raw:可變長二進(jìn)制數(shù)據(jù),***長度是2GB,可以用來保存較大的圖形或帶格式的文本文件,以及音頻、視頻等非文本文件,這也是一種較老的數(shù)據(jù)類型,將被lob數(shù)據(jù)類型所取代。
其它的Oracle數(shù)據(jù)類型:
◆rowid:這是Oracle數(shù)據(jù)表中的一個偽例,它是數(shù)據(jù)表中每行數(shù)據(jù)內(nèi)在的唯一標(biāo)識
◆integer:整數(shù)類型
【編輯推薦】