DB2 內建類型分五大類 + DATALINK。正確選型影響儲存效率、索引效能、應用相容性。本文系統整理為決策速查表。
| 大類 | 子類型 | 關鍵特徵 |
|---|---|---|
| 數值 | SMALLINT | 2 bytes, 5 位精度, -32,768 ~ 32,767 |
| INTEGER / INT | 4 bytes, 10 位精度, -2.14B ~ 2.14B | |
| BIGINT | 8 bytes, 19 位精度, -9.22E18 ~ 9.22E18 | |
| DECIMAL(p,s) / NUMERIC(p,s) | 壓縮 BCD, 精度 p≤31, 小數位 s≤p, 範圍 ±10³¹ | |
| REAL | 32-bit 浮點, ±1.17E-37 ~ ±3.40E+38 | |
| DOUBLE / FLOAT | 64-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 | 外部檔案邏輯引用, 不儲存實體資料 |
資料類型是 schema 設計的基因,選對了事半功倍,選錯了遷移成本極高。