Oracle – Oracle數據類型
Oracle數據庫核心是表,表中列使用的數據類型如下:
數據類型 |
含義 |
CHAR(length) |
存儲固定長度的字符串,length表示字符串長度。如果實際存儲的字符串長度小於length,則用空格填充。 默認長度爲1,最大長度不超過2000字節。 |
VARCHAR(length) |
存儲可變長度字符串,length表示字符串最大長度。默認長度爲1,最大長度不超過4000字節。 VARCHAR2比VARCHAR更適合使用,考慮向後兼容應該使用VARCHAR2 適用於長度不固定的,不含中文的情況 |
VARCHAR2(length) |
VARCHAR2基本上等同於VARCHAR,它是Oracle自己定義的一個非工業標準,不同在於VARCHAR2用null代替VARCHAR的空字符串 |
NCHAR(length) |
NLS(national language support , 國際語言支持)的數據類型僅可以存儲由數據庫NLS字符集定義的 Unicode 字符集。 存儲固定長度的字符串,length表示字符串長度。如果實際存儲的字符串長度小於length,則用空格填充。 默認長度爲1,最大長度不超過2000字節。 |
NVARCHAR(length) |
類似VARCHAR類型。 NVARCHAR適用於存放中文 |
NVARCHAR2(length) |
類似VARCHAR2類型 NVARCHAR2適用於存放中文。 |
NUMBER(p, s) |
用於存儲零、正數、定長負數以及浮點數。p表示數字的最大位數(如果是小數,則包括整數部分、小數部分和小數點,默認爲38位) |
LONG |
LONG 類型的列存儲可變長度的字符串,最多可以存儲2GB的數據。LONG類型的列有很多在VARCHAR2 類型列中所具有的特徵。可以使用LONG類型的列來存儲LONG類型的文本字符串。LONG數據類型的使用是爲了向前兼容的需要。 建議使用LOB 數據類型來代替LONG 類型。 |
DATE |
存儲日期和時間,存儲紀元、4位年、月、日、時、分、秒。存儲時間的精度可以達到 1/100s。存儲時間從公元前4712年1月1日到公元后4712年12月31日 |
TIMESTAMP |
使用年、月、日、小時、分鐘、秒域來對日期/時間提供更詳細的支持。最多可以使用9位數字的精度來存儲秒(受底層操作系統支持的限制)。這個數據類型沒有時區的相關信息,它可以在 Oracle9i 數據庫及其更新的版本中使用。 |
TIMESTAMP WITH TIME ZONE |
包含TIMESTAMP 數據類型中的所有域,除此之外,還包含兩個額外的域:timezone_hour和 timezone_minute。這個數據類型包含支持時區的相關信息。這個數據類型可以在Oracle9i數據庫及其更新的版本中使用。 |
TIMESTAMP WITH LOCAL TIME ZONE |
除了在數據庫中存儲的時區採用標準化以外,所包含的其他域與TIMESTAMP數據類型中的域相同。當選擇列時,將日期/時間標準爲會話的時區。這個數據類型可以在 Oracle9i 數據庫及其更新的版本中使用。 |
INTERVAL YEAR TO MONTH |
用於存儲一個時間段,由月份和年組成。需要5B來存儲。這個數據類型可以在Oracle9i數據庫及其更新的版本中使用。 |
INTERVAL DAY TO SECOND |
用於存儲一個時間段,由日和秒組成。需要11B來存儲。這個數據類型可以在Oracle9i數據庫及其更新的版本中使用。 |
RAW |
用於存儲raw類型的二進制數據。最多可以存儲 2000B。 建議使用 BLOB 來代替它。 |
LONG RAW |
用於存儲raw類型的二進制數據。最多可以存儲 2GB的數據。 建議使用BLOB來代替它。 |
ROWID |
表中 ROWID 類型的字符串表示。 |
UROWID |
在索引組織表中表示邏輯行地址。 |
CLOB |
用於存儲基於字符的大對象。在 Oracle9i 數據庫中最多可以存儲4GB的數據 |
NCLOB |
可以使用由數據庫國際字符集所定義的字符集來存儲僅爲Unicode類型的基於字符的數據。最多可以存儲 4GB 的數據。 |
BLOB |
用於存儲基於二進制的大對象,最多可以存儲4GB數據的二進制大對象 |
BFILE |
存儲指向數據庫外部文件的定位符。外部文件最大爲4GB。 |
BINARY_FLOAT |
該數據類型是一個基於ANSI_IEEE745標準的浮點數據類型。它定義了一個32位的雙精度浮點數。這個數據類型需要5B的存儲空間。 |
BINARY_DOUBLE |
該數據類型是一個基於ANSI_IEEE745標準的雙精度浮點數據類型,它定義了一個32位的雙精度浮點數。這個數據類型需要9B節的存儲空間。 |