字串型別
| 型別 | 長度 | Unicode | 特性 |
CHAR(n) | 1-8000 | 否 | 定長,右側空白填充 |
VARCHAR(n) | 1-8000 | 否 | 變長,不填充 |
TEXT | 2^31-1 字元 | 否 | 大型非 Unicode 文字 (已淘汰,用 VARCHAR(MAX)) |
NCHAR(n) | 1-4000 | 是 | 定長 Unicode,英文漢字均 2 位元組 |
NVARCHAR(n) | 1-4000 | 是 | 變長 Unicode,推薦多語系專案 |
NTEXT | 2^30-1 字元 | 是 | 大型 Unicode 文字 (已淘汰,用 NVARCHAR(MAX)) |
選擇建議:需支援多語言用 NVARCHAR;純 ASCII 高效能場景用 VARCHAR。MAX 型別取代舊 TEXT/NTEXT。
日期時間型別
| 型別 | 範圍 | 精度 | 儲存位元組 |
DATETIME | 1753-01-01 ~ 9999-12-31 | 3.33 毫秒 | 8 |
SMALLDATETIME | 1900-01-01 ~ 2079-06-06 | 1 分鐘 | 4 |
DATE (2008+) | 0001-01-01 ~ 9999-12-31 | 1 天 | 3 |
TIME (2008+) | 00:00:00.0000000 ~ 23:59:59.9999999 | 100 奈秒 | 3-5 |
DATETIME2 (2008+) | 同 DATE | 100 奈秒 | 6-8 |
DATETIMEOFFSET (2008+) | 含時區 | 100 奈秒 | 8-10 |
建議:新專案優先用 DATETIME2 / DATE / TIME,精度更高、範圍更大、符合標準。
整數型別
| 型別 | 範圍 | 位元組 |
BIGINT | -2^63 ~ 2^63-1 | 8 |
INT | -2^31 ~ 2^31-1 | 4 |
SMALLINT | -32,768 ~ 32,767 | 2 |
TINYINT | 0 ~ 255 | 1 |
BIT | 0/1/NULL | 1 (位) |
精確數值
DECIMAL(p,s) / NUMERIC(p,s):等效。p=1~38 總位數,s=0~p 小數位。財務金額必用。
MONEY / SMALLMONEY:固定 4 位小數,內部為整數運算,速度快但精度固定。
近似數值
FLOAT(n):n=1~53 精度位數。FLOAT(24) = REAL (7 位有效數字)。FLOAT(53) = 雙精度 (15 位)。
- 科學計算用
FLOAT,財務嚴禁。
二進位
BINARY(n) / VARBINARY(n) / VARBINARY(MAX):取代 IMAGE。