SQL資料類型

數值類型

資料類型 儲存大小 範圍
bit 1 bit 1、0 or TRUE、FALSE
tinyint 1 byte 0 ~ 255
smallint 2 bytes -2^15 (-32,768) 到 2^15-1 (32,767)
int 4 bytes -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
bigint 8 bytes -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
real 4 bytes 近似數值 - 3.40E + 38 到 -1.18E - 38、0 及 1.18E - 38 到 3.40E + 38
float(24) 4 bytes 近似數值 - 3.40E + 38 到 -1.18E - 38、0 及 1.18E - 38 到 3.40E + 38
float(53) 8 bytes 近似數值 - 1.79E+308 到 -2.23E-308、0 及 2.23E-308 到 1.79E+308
decimal / numeric 5 bytes p : 1 - 9,decimal[ ( p[ , s] ) ],numeric[ ( p[ , s] ) ]
decimal / numeric 9 bytes p : 10 - 19,decimal[ ( p[ , s] ) ],numeric[ ( p[ , s] ) ]
decimal / numeric 13 bytes p : 20 - 28,decimal[ ( p[ , s] ) ],numeric[ ( p[ , s] ) ]
decimal / numeric 17 bytes p : 29 - 38,decimal[ ( p[ , s] ) ],numeric[ ( p[ , s] ) ]
smallmoney 4 bytes -214,748.3648 到 214,748.3647
money 8 bytes -922,337,203,685,477.5808 到 922,337,203,685,477.5807
(-922,337,203,685,477.58 到 922,337,203,685,477.58 (Informatica)。 Informatica 只支援兩個十進位數,而非四個。)

日期與時間類型

資料類型 儲存大小 範圍
time(7) 5 bytes 00:00:00 - 23:59:59.9999999
date 3 bytes 0001-01-01 - 9999-12-31
smalldatetime 4 bytes 1900-01-01 - 2079-06-06,00:00:00 - 23:59:59
datetime 8 bytes 1753-01-01 - 9999-12-31,00:00:00 - 23:59:59.997
datetime2 8 bytes 0001-01-01 - 9999-12-31,00:00:00 - 23:59:59.9999999
datetimeoffset 10 bytes 0001-01-01 - 9999-12-31,00:00:00 - 23:59:59.9999999,時區位移範圍 -14:00 到 +14:00

字串與二進位類型

資料類型 儲存大小 範圍
binary(n) n bytes n 是 1 到 8,000 的值
varbinary(n) n+2 bytes n 是 1 到 8,000 的值
varbinary(max) n+2 bytes max 表示儲存體大小上限是 2^31-1 個位元組
char(n) n bytes n 是 1 到 8,000 的值
varchar(n) n+2 bytes n 是 1 到 8,000 的值
varchar(max) n+2 bytes max 表示儲存體大小上限是 2^31-1 個位元組
nchar(n) n*2 bytes n 是 1 到 4,000 的值
nvarchar(n) n*2+2 bytes n 是 1 到 4,000 的值
nvarchar(max) n*2+2 bytes max 表示儲存大小上限是 2^30-1 個字元 (2 GB)
uniqueidentifier 16 bytes 這是 16 位元組的 GUID

參考資料