VARCHAR vs CHARVARCHAR(n):變長,實際存多少佔多少。存入 'TOL8' (4 字元) 取出仍為 4 字元。CHAR(n):定長,不足補空白。同樣存入取出為 40 字元(含 36 空白)。VARCHAR 節省空間;VARCHAR 上限 255 字元(舊版本),超過改用 TEXT。TEXT| 型別 | 範圍 | 位元組 | 適用場景 |
|---|---|---|---|
INT | -2,147,483,648 ~ 2,147,483,647 | 4 | 一般整數 |
SMALLINT | -32,768 ~ 32,767 | 2 | 小範圍整數,省空間 |
TINYINT | 0 ~ 255 | 1 | 極小非負整數,最省空間 |
NUMERIC / DECIMAL | 定精度定小數位 | 視精度 | 財務、精確計算 |
MONEY | -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 | 8 | 貨幣,最小單位 0.0001 |
SMALLMONEY | -214,748.3648 ~ 214,748.3647 | 4 | 小額貨幣 |
FLOAT | -1.79E+308 ~ 1.79E+308 | 8 | 科學計算、極大範圍 |
REAL | -3.40E+38 ~ 3.40E+38 | 4 | 單精度浮點 |
BIT| 型別 | 範圍 | 精度 | 建議 |
|---|---|---|---|
DATETIME | 1753-01-01 ~ 9999-12-31 | 3.33 毫秒 | 通用、需毫秒精度 |
SMALLDATETIME | 1900-01-01 ~ 2079-06-06 | 分鐘 | 多數業務足夠,省 4 位元組 |
CURSOR、二進位型別(BINARY/VARBINARY/IMAGE)等進階類型,依特定需求使用。Access 轉 SQL Server 時,字元型對應 VARCHAR、備註型對應 TEXT、長整數對應 INT、雙精度對應 FLOAT、貨幣對應 MONEY、日期時間對應 DATETIME、是/否對應 BIT。