ORACLE數據類型
- 2020 年 3 月 5 日
- 筆記
欄位類型 中文說明 限制條件 其它說明 CHAR 固定長度字元串 最大長度2000 bytes VARCHAR2 可變長度的字元串 最大長度4000 bytes 可做索引的最大長度749 NCHAR 根據字符集而定的固定長度字元串 最大長度2000 bytes NVARCHAR2 根據字符集而定的可變長度字元串 最大長度4000 bytes DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 經過嚴格測試,無千蟲問題 LONG 超長字元串 最大長度2G(231-1) 足夠存儲大部頭著作 RAW 固定長度的二進位數據 最大長度2000 bytes 可存放多媒體圖象聲音等 LONG RAW 可變長度的二進位數據 最大長度2G 同上 BLOB 二進位數據 最大長度4G CLOB 字元數據 最大長度4G NCLOB 根據字符集而定的字元數據 最大長度4G BFILE 存放在資料庫外的二進位數據 最大長度4G ROWID 數據表中記錄的唯一行號 10 bytes ********.****.****格式,*為0或1 NROWID 二進位數據表中記錄的唯一行號 最大長度4000 bytes NUMBER(P,S) 數字類型 P為整數位,S為小數位 DECIMAL(P,S) 數字類型 P為整數位,S為小數位 INTEGER 整數類型 小的整數 FLOAT 浮點數類型 NUMBER(38),雙精度 REAL 實數類型 NUMBER(63),精度更高
數據類型 |
參數 |
描述 |
---|---|---|
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,但是不能寫入。 大小由作業系統決定。 |
數據類型是列或存儲過程中的一個屬性。
Oracle支援的數據類型可以分為三個基本種類:字元數據類型、數字數據類型以及表示其它數據的數據類型。
字元數據類型
CHAR char數據類型存儲固定長度的字元值。一個CHAR數據類型可以包括1到2000個字元。如果對CHAR沒有明確地說明長度,它的默認長度則設置為1。如果對某個CHAR類型變數賦值,其長度小於規定的長度,那麼Oracle自動用空格填充。
VARCHAR2 存儲可變長度的字元串。雖然也必須指定一個VARCHAR2數據變數的長度,但是這個長度是指對該變數賦值的最大長度而非實際賦值長度。不需用空格