首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 資料類型完整對照表:從 CHAR 到 BFILE

     編輯:Oracle 資料庫基礎

Oracle 資料類型定義了欄位可儲存的資料範圍、精度與儲存特性。本文整理常用類型的長度限制、適用場景與注意事項,供建模與開發快速查閱。

字元類型

類型最大長度特性適用場景
CHAR2,000 位元組固定長度,不足右補空白固定長度代碼(如 Y/N、狀態碼)
VARCHAR24,000 位元組變長,實際長度儲存一般字串(名稱、描述、JSON 片段)
VARCHAR4,000 位元組同 VARCHAR2(保留關鍵字,未來可能異動)建議統一用 VARCHAR2
NCHAR2,000 字元固定長度 Unicode多語言固定長度代碼
NVARCHAR24,000 字元變長 Unicode多語言一般字串
LONG2 GB舊型大物件,已棄用,限制多(不可索引、不可 WHERE、單表僅一欄)避免使用,改用 CLOB
CLOB4 GB字元大物件,支援隨機讀寫、索引、LOB 函數長文本、日誌、XML/JSON 完整文件
NCLOB4 GBUnicode CLOB多語言長文本

數值類型

類型精度/範圍備註
NUMBER1.0E-130 ~ 9.99E125 (38 位精度)通用數值型別,內部以變長科學記號儲存
INTEGER / INTNUMBER(38,0)ANSI 相容別名
SMALLINTNUMBER(38,0)ANSI 相容別名
DECIMAL / NUMERICNUMBER(p,s)ANSI 相容別名
FLOATNUMBER(126 binary precision)二進制浮點數,精度以 bit 為單位
BINARY_FLOAT32-bit IEEE 754單精度浮點數(10g+)
BINARY_DOUBLE64-bit IEEE 754雙精度浮點數(10g+)

日期時間類型

類型範圍/精度備註
DATE公元前 4712-01-01 ~ 公元 9999-12-31,秒精度含年月日時分秒,無時區
TIMESTAMP納秒精度,無時區9i+,DEFAULT CURRENT_TIMESTAMP 可用
TIMESTAMP WITH TIME ZONE含時區位移跨時區應用必備
TIMESTAMP WITH LOCAL TIME ZONE資料庫時區正規化儲存,查詢時轉換為 Session 時區全球化系統推薦
INTERVAL YEAR TO MONTH年月間隔
INTERVAL DAY TO SECOND天秒間隔(含納秒)

二進制與特殊類型

類型最大長度用途
RAW2,000 位元組原始位元組(加密雜湊、小型二進制)
LONG RAW2 GB舊型大二進制,已棄用,改用 BLOB
BLOB4 GB二進制大物件(圖片、文件、加密資料)
BFILE4 GB (檔案指標)唯讀外部檔案指標,資料存 OS 檔案系統
ROWID10/18 位元組物理行地址,隱藏欄位,SELECT ROWID FROM ... 可見
UROWID4,000 位元組通用 ROWID(支援索引組織表、外部表)

選型建議速查

  • 字串:預設 VARCHAR2,固定代碼用 CHAR,多語言用 NVARCHAR2。
  • 長文本:CLOB,勿用 LONG。
  • 數值:NUMBER 通用;科學計算大量浮點運算用 BINARY_DOUBLE。
  • 日期:TIMESTAMP WITH LOCAL TIME ZONE 為現代應用首選。
  • 二進制:BLOB 內部儲存,BFILE 外部檔案參考。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved