當你在資料庫中建立資料表的時候,你需要定義表中所有欄位的類型。ORACLE有許多種資料類型以滿足你的需要。資料類型大約分為:character, number, date, LOB, 和RAW等類型。雖然ORACLE8i也允許你自訂資料類型,但是它們是最基本的資料類型。
在下面的文章中你將瞭解到他們在oracle 中的用法、限制以及允許值。
Character 資料類型
Character 資料類型用來儲存字母數字型資料。當你在oracle 中定義一個character 資料時,通常需要制定欄位的長度,它是該欄位的最大長度。ORACLE提供以下幾種character 資料類型:
CHAR() CHAR資料類型是一種有固定長度和最大長度的字串。儲存在資料類型為CHAR欄位中的資料將以空格的形式補到最大長度。長度定義在1——2000位元組之間。
當你建立一個CHAR型欄位,資料庫將保證在這個欄位中的所有資料是定義長度,如果某個資料比定義長度短,那麼將用空格在資料的右邊補到定義長度。如果長度大於定義長度將會觸發錯誤資訊。
VARCHAR() varchar型資料是varchar2型資料的快照。
VARCHAR2() varchar2資料類型是一種可變長度的、有最大長度的字母數字型資料。Varchar2類型的欄位長度可以達到4000位元組,Varchar2類型的變數長度可以達到32676位元組。
一個空的varchar2(2000)欄位和一個空的varchar2(2)欄位所佔用的空間是一樣的。
NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()資料類型分別與CHAR() 和 VARCHAR2()類型是相同的,只不過它們用來儲存NLS(National Language Support)資料。
LONG LONG 資料類型是一個遺留下來的而且在將來不會被支援的資料類型。它將被LOB(Large Object)資料類型所代替。
比較規則 Varchar2和char資料類型根據尾部的空格有不同的比較規則。對Char型資料,尾部的空格將被忽略掉,對於Varchar2型資料尾部帶空格的資料排序比沒有空格的要大些。比如:
Char 型資料: ‘YO’=‘YO ’
Varchar2型資料: ‘YO’<’YO ’
Numberic 資料類型
Numberic 資料類型用來儲存負的和正的整數、分數和浮點型資料,範圍在-1*10-103 和9.999…99*10125之間,有38位的精確度。標識一個資料超出這個範圍時就會出錯。
Number( ,) Number資料類型儲存一個有p位精確度的s位等級的資料。
DATE 資料類型
DATE 資料類型用來儲存日期和時間格式的資料。這種格式可以轉換為其他格式的資料去瀏覽,而且它有專門的函數和屬性用來控制和計算。以下的幾種資訊都包含在DATE資料類型中:
Century
Year
Month
Day
Hour
Minute
Second
LOB 資料類型
LOB(Large Object) 資料類型儲存非結構化資料,比如二進位檔案,圖形檔案,或其他外部檔案。LOB 可以儲存到4G位元組大小。資料可以儲存到資料庫中也可以儲存到外部資料檔案中。LOB資料的控制通過DBMS_LOB 包實現。BLOB, NCLOB, 和CLOB 資料可以儲存到不同的資料表空間中,BFILE儲存在伺服器上的外部檔案中。LOB資料類型有以下幾種:
BLOB: 位元據
CLOB: 字元型資料
BFILE: 二進位檔案
其他資料類型
ROWID ROWID 資料類型是ORACLE資料表中的一個偽列,它是資料表中每行資料內在的唯一的標識。