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

DB2 內建資料類型完整圖譜:數值、字串、圖形、二進位、日期時間與 DATALINK

     編輯:DB2 教學

DB2 資料類型體系全景圖:選型指南與範圍速查

DB2 內建類型分五大類 + DATALINK。正確選型影響儲存效率、索引效能、應用相容性。本文系統整理為決策速查表。

類別總覽

大類子類型關鍵特徵
數值SMALLINT2 bytes, 5 位精度, -32,768 ~ 32,767
INTEGER / INT4 bytes, 10 位精度, -2.14B ~ 2.14B
BIGINT8 bytes, 19 位精度, -9.22E18 ~ 9.22E18
DECIMAL(p,s) / NUMERIC(p,s)壓縮 BCD, 精度 p≤31, 小數位 s≤p, 範圍 ±10³¹
REAL32-bit 浮點, ±1.17E-37 ~ ±3.40E+38
DOUBLE / FLOAT64-bit 浮點, ±2.22E-307 ~ ±1.79E+308
字串 (SBCS/MBCS)CHAR(n)定長 1-254 bytes, 預設 1
VARCHAR(n)變長 ≤ 32,672 bytes
LONG VARCHAR變長 ≤ 32,700 bytes (漸棄用)
CLOB(n[K|M|G])≤ 2GB, 單位 K=1024, M=1048576, G=1073741824
圖形 (DBCS 雙字節)GRAPHIC(n)定長 1-127 雙字節, 預設 1
VARGRAPHIC(n)變長 ≤ 16,336 雙字節
LONG VARGRAPHIC≤ 16,350 雙字節
DBCLOB(n[K|M|G])≤ 1GB 雙字節
二進位BLOB(n[K|M|G])≤ 2GB, 存圖片/語音/結構化資料
日期時間DATE年(0001-9999)/月/日, 10 bytes
TIME時(0-24)/分/秒, 8 bytes
TIMESTAMP年/月/日/時/分/秒/微秒, 26 bytes
特殊DATALINK外部檔案邏輯引用, 不儲存實體資料

字串格式表示規則

  • DATE:數字開頭 ≥ 8 字元,月/日前導零可省略 (如 `'2024-1-1'`)
  • TIME:數字開頭 ≥ 4 字元,秒可省略 (如 `'12:30'`)
  • TIMESTAMP:數字開頭 ≥ 16 字元,完整格式 `yyyy-mm-dd-hh.mm.ss.nnnnnn`,微秒可截斷/省略

選型決策樹

  1. 整數 → 看範圍選 SMALLINT/INTEGER/BIGINT
  2. 精確小數 (金額、量度) → **唯一選 DECIMAL(p,s)**
  3. 科學計算/近似值 → REAL/DOUBLE
  4. 文字 → 短固定長 CHAR / 變長 VARCHAR / 大文本 CLOB
  5. 中日韓雙字節 → GRAPHIC/VARGRAPHIC/DBCLOB
  6. 非結構化二進位 → BLOB
  7. 日期/時間/時間戳 → DATE/TIME/TIMESTAMP
  8. 外部檔案參考 → DATALINK

自增主鍵選型建議

  • INTEGER (21 億) 足支援絕大多數業務
  • 極高併發/分散式 → BIGINT (9 穰) + `GENERATED ALWAYS AS IDENTITY`
  • 跨表共享序列 → `SEQUENCE` 物件

資料類型是 schema 設計的基因,選對了事半功倍,選錯了遷移成本極高。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved