本文彙總 SQL Server 所有內建數據類型,按存儲特性分為 7 大類,附精度、範圍、存儲字節、典型用途對照表。(原文為圖片,此處結構化重構)
| 類型 | 範圍 | 存儲 | 精度/小數位 | 典型場景 |
|---|---|---|---|---|
| bit | 0/1/NULL | 1 bit (8列=1字節) | - | 布爾標誌 |
| tinyint | 0~255 | 1 字節 | - | 枚舉、狀態碼 |
| smallint | -32,768~32,767 | 2 字節 | - | 小範圍計數 |
| int | -2^31~2^31-1 | 4 字節 | - | 主鍵、ID、通用整數 |
| bigint | -2^63~2^63-1 | 8 字節 | - | 大量級 ID、時間戳 |
| decimal / numeric | -10^38+1 ~ 10^38-1 | 5-17 字節 | p=1-38, s=0-p | 貨幣、精確計算、比率 |
| smallmoney | -214,748.3648~214,748.3647 | 4 字節 | 固定 4 位小數 | 小額金額 |
| money | -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 | 8 字節 | 固定 4 位小數 | 大額金額 |
| 類型 | 範圍 | 存儲 | 精度 | 場景 |
|---|---|---|---|---|
| float(n) | -1.79E+308 ~ 1.79E+308 | 4/8 字節 | n=1-24→4字節(7位), 25-53→8字節(15位) | 科學計算、不需精確 |
| real | -3.40E+38 ~ 3.40E+38 | 4 字節 | 7 位有效數字 | float(24) 同義 |
| 類型 | 範圍 | 精度 | 存儲 | 推薦度 |
|---|---|---|---|---|
| date | 0001-01-01 ~ 9999-12-31 | 1 天 | 3 字節 | ✅ 僅需日期 |
| time(n) | 00:00:00.0000000 ~ 23:59:59.9999999 | 100ns | 3-5 字節 | ✅ 僅需時間 |
| datetime2(n) | 0001-01-01 ~ 9999-12-31 | 100ns | 6-8 字節 | ✅ 新開發首選 |
| datetimeoffset(n) | 含時區偏移 | 100ns | 8-10 字節 | ✅ 全球化應用 |
| smalldatetime | 1900-01-01 ~ 2079-06-06 | 1 分鐘 | 4 字節 | ⚠️ 兼容舊系統 |
| datetime | 1753-01-01 ~ 9999-12-31 | 3.33ms | 8 字節 | ⚠️ 兼容舊系統 |
| 類型 | 最大長度 | 存儲 | 編碼 | 場景 |
|---|---|---|---|---|
| char(n) | 8,000 | n 字節 | 非 Unicode | 固定長度代碼 |
| varchar(n) | 8,000 | 實際長度+2 | 非 Unicode | 變長 ASCII |
| varchar(max) | 2^31-1 (2GB) | 溢出頁 | 非 Unicode | 長文本、JSON、日志 |
| nchar(n) | 4,000 | 2n 字節 | Unicode (UTF-16) | 固定長度多語言 |
| nvarchar(n) | 4,000 | 2×實際長度+2 | Unicode | 變長多語言 |
| nvarchar(max) | 2^30-1 (1GB) | 溢出頁 | Unicode | 長多語言文本 |
| text / ntext / image | 2GB/1GB/2GB | LOB | 棄用 | ❌ 2005+ 棄用,用 *max |
| 類型 | 最大長度 | 存儲 | 場景 |
|---|---|---|---|
| binary(n) | 8,000 | n 字節 | 固定長度哈希、加密塊 |
| varbinary(n) | 8,000 | 實際+2 | 變長二進制 |
| varbinary(max) | 2GB | 溢出頁 | 文件流、圖片、文檔 |
| timestamp / rowversion | 8 字節 | 自動生成 | 樂觀鎖版本號、行變更追蹤 |
NEWID()/NEWSEQUENTIALID(),分佈式主鍵、合併數據。tinyint 別用 int,能用 date 別用 datetime2。nvarchar,避免編碼亂碼。varchar(max)、varbinary(max) 替代棄用的 text/image。