| SQL
Server |
Data
Precision |
| BIT |
Integer:
0 or 1 |
| TINYINT |
Positive
Integer 0 -> 255 |
| SMALLINT |
Signed
Integer -32,768 -> 32,767 |
| INT |
Signed
Integer -2^31 -> 2^31-1 |
| BIGINT |
Signed
Integer -2^63 -> 2^63-1 |
| REAL |
Floating
precision -1.79E + 308 -> 1.79E + 308 |
| FLOAT |
Floating
precision -3.40E + 38 -> 3.40E + 38 |
| MONEY |
4
decimal places, -2^63/10000 -> 2^63-1/10000 |
| SMALLMONEY |
4
decimal places, -214,748.3648 -> 214,748.3647 |
| DECIMAL |
Fixed
precision -10^38 + 1 -> 10^38 - 1 |
| NUMERIC |
Fixed
precision -10^38 + 1 -> 10^38 - 1 |
| DATETIME |
Date+Time
1753-01-01 -> 9999-12-31, accuracy of 3.33 ms |
| SMALLDATETIME |
Date+Time
1900-01-01 -> 2079-06-06, accuracy of one minute |
| CHARn |
Fixed-length
non-Unicode string to 8,000 characters |
| NCHARn |
Fixed-length
Unicode string to 4,000 characters |
| VARCHARn |
Variable-length
non-Unicode string to 8,000 characters |
| NVARCHARn |
Variable-length
Unicode string to 4,000 characters |
| TEXT |
Variable-length
non-Unicode string to 2,147,483,647 characters |
| NTEXT |
Variable-length
Unicode string to 1,073,741,823 characters |
| BINARY |
Fixed-length
binary data up to 8,000 characters |
| VARBINARY |
Variable-length
binary data up to 8,000 characters |
| IMAGE |
Variable-length
binary data up to 2,147,483,647 characters |
If you are working in a heterogeneous database environment an
environment that employs multiple DBMS vendor solutions you should
consider using data types that are common to different vendors in your
design.