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

Oracle 資料類型完整指南:CHAR/VARCHAR2/NUMBER/DATE/LOB/RAW 選型原則

     編輯:Oracle 資料庫基礎

建表時正確選擇資料類型,關係儲存空間、效能與資料完整性。Oracle 核心類型分五大類,另含偽欄位 ROWID。

一、字元類型

類型長度特性適用場景
CHAR(n)固定 1~2000 bytes不足補空白;比較時空白語意固定長代碼 (國別、幣別、Y/N)
VARCHAR2(n)變動 1~4000 bytes實際長度儲存;最常用一般文字、名稱、描述
NCHAR(n)固定 1~2000 bytes (字元數)依國家字元集 (AL16UTF16/UTF8)多語系固定長欄位
NVARCHAR2(n)變動 1~4000 bytes (字元數)同上多語系變長文字
LONG變動 2GB已棄用,單表僅一欄,功能受限遷移至 CLOB/NCLOB

二、數值類型

  • NUMBER(p,s):精度 p (1~38),小數位 s (-84~127)。涵蓋整數、定點、浮點。
    整數常用 NUMBER(10) 或 INTEGER (ANSI 相容別名)。

三、日期時間類型

  • DATE:世紀、年、月、日、時、分、秒 (預設 DD-MON-YY)。
  • TIMESTAMP[(precision)]:增加毫秒/微秒精度。
  • TIMESTAMP WITH TIME ZONE:含時區位移。
  • TIMESTAMP WITH LOCAL TIME ZONE:自動轉換至 Session 時區。

四、大型物件 (LOB)

類型儲存位置最大長度用途
BLOB資料庫內部4GB二進位:圖片、音訊、視訊
CLOB資料庫內部4GB單一位元組字元大文本
NCLOB資料庫內部4GB多位元組字元大文本
BFILE作業系統檔案 (唯讀)4GB外部大型二進位檔,DB 只存指標

五、原始/舊制類型 (逐步淘汰)

  • RAW(n):變長二進位,最大 2000 bytes (PL/SQL 32KB) → 改用 BLOB。
  • LONG RAW:2GB 二進位 → 改用 BLOB。

六、特殊偽欄位

  • ROWID:每列唯一物理地址編碼,最快存取路徑。
  • ROWNUM:查詢結果集順序號 (1-based)。

七、選型決策樹

  1. 純文字、< 4000 bytes → VARCHAR2。
  2. 固定長代碼 → CHAR。
  3. 多語系 → NVARCHAR2/NCLOB。
  4. 數值運算 → NUMBER。
  5. 日期時間精度需求 → TIMESTAMP 系列。
  6. 大文本/二進位 → CLOB/BLOB;外部檔案 → BFILE。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved