| 類型 | 長度範圍 | 特性 | 儲存內容 |
|---|---|---|---|
| char | 1-8000 | 定長,不足右補空格 | 非 Unicode |
| varchar | 1-8000 | 變長,不補空格 | 非 Unicode |
| text | ≤ 2^31-1 字元 | 大型變長非 Unicode | 非 Unicode |
| nchar | 1-4000 | 定長,雙位元組 | Unicode |
| nvarchar | 1-4000 | 變長,雙位元組 | Unicode |
| ntext | ≤ 2^30-1 字元 | 大型變長 Unicode | Unicode |
關鍵差異:n 開頭為 Unicode(雙位元組),英文漢字均佔 2 位元組;無 n 者英文 1 位元組、漢字 2 位元組。nvarchar(4000) 可存 4000 中英字元,varchar(8000) 可存 8000 英文或 4000 漢字。Unicode 免去字元集轉換煩惱,但純英文儲存空間加倍。
datetime:1753-01-01 ~ 9999-12-31,精度 3.33 毫秒。smalldatetime:1900-01-01 ~ 2079-06-06,精度 1 分鐘。| 類型 | 範圍 | 位元組 |
|---|---|---|
| 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 | 1 (位) |
p(精度, 1-38)、s(小數位, 0-p),預設 s=0。p 含小數點左右總位數,s 為小數點右邊位數。float:-1.79E+308 ~ 1.79E+308(雙精度)。real:-3.40E+38 ~ 3.40E+38(單精度),等同 float(24)。選型原則:定長用 char、變長用 varchar、大文本用 text/ntext;跨語系必用 nchar/nvarchar;金額計算必用 decimal;科學計算用 float;依範圍選最小整數型節省空間。