Oracle的 資料型別比較及注意事項

gagaghost發表於2007-05-07
資料型別引數描述
char(n)n=1 to 2000位元組定長字串,n位元組長,如果不指定長度,預設為1個位元組長(一個漢字為2位元組)
varchar2(n)n=1 to 4000位元組可變長的字串,具體定義時指明最大長度n,
這種資料型別可以放數字、字母以及ASCII碼字符集(或者EBCDIC等資料庫系統接受的字符集標準)中的所有符號。
如果資料長度沒有達到最大值n,Oracle 8i會根據資料大小自動調節欄位長度,
如果你的資料前後有空格,Oracle 8i會自動將其刪去。VARCHAR2是最常用的資料型別。
可做索引的最大長度3209。
number(m,n)m=1 to 38
n=-84 to 127
可變長的數值列,允許0、正值及負值,m是所有有效數字的位數,n是小數點以後的位數。
如:number(5,2),則這個欄位的最大值是99,999,如果數值超出了位數限制就會被擷取多餘的位數。
如:number(5,2),但在一行資料中的這個欄位輸入575.316,則真正儲存到欄位中的數值是575.32。
如:number(3,0),輸入575.316,真正儲存的資料是575。
date從公元前4712年1月1日到公元4712年12月31日的所有合法日期,
Oracle 8i其實在內部是按7個位元組來儲存日期資料,在定義中還包括小時、分、秒。
預設格式為DD-MON-YY,如07-11月-00 表示2000年11月7日。
long可變長字元列,最大長度限制是2GB,用於不需要作字串搜尋的長串資料,如果要進行字元搜尋就要用varchar2型別。
long是一種較老的資料型別,將來會逐漸被BLOB、CLOB、NCLOB等大的物件資料型別所取代。
raw(n)n=1 to 2000可變長二進位制資料,在具體定義欄位的時候必須指明最大長度n,Oracle 8i用這種格式來儲存較小的圖形檔案或帶格式的文字檔案,如Miceosoft Word文件。
raw是一種較老的資料型別,將來會逐漸被BLOB、CLOB、NCLOB等大的物件資料型別所取代。
long raw可變長二進位制資料,最大長度是2GB。Oracle 8i用這種格式來儲存較大的圖形檔案或帶格式的文字檔案,如Miceosoft Word文件,以及音訊、影片等非文字檔案。
在同一張表中不能同時有long型別和long raw型別,long raw也是一種較老的資料型別,將來會逐漸被BLOB、CLOB、NCLOB等大的物件資料型別所取代。
blob
clob
nclob
三種大型物件(LOB),用來儲存較大的圖形檔案或帶格式的文字檔案,如Miceosoft Word文件,以及音訊、影片等非文字檔案,最大長度是4GB。
LOB有幾種型別,取決於你使用的位元組的型別,Oracle 8i實實在在地將這些資料儲存在資料庫內部儲存。
可以執行讀取、儲存、寫入等特殊操作。
bfile在資料庫外部儲存的大型二進位制物件檔案,最大長度是4GB。
這種外部的LOB型別,透過資料庫記錄變化情況,但是資料的具體儲存是在資料庫外部進行的。
Oracle 8i可以讀取、查詢BFILE,但是不能寫入。
大小由作業系統決定。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/5859/viewspace-913908/,如需轉載,請註明出處,否則將追究法律責任。

相關文章