SQL Server supports 9 different numeric data types; four data types that store integer values of various sizes, two data types that store monetary values, and four data types that store decimal-based numbers with varying accuracy. Here is a summary of the available numeric data types in SQL Server along with the range of values allowed together with the required storage space sorted according to the data type precedence from highest to lowest:
float |
–1.79308 to –2.23-308, 0, and 2.23-308 to 1.79308 |
4 bytes or 8 bytes |
real |
–3.4038 to –1.18-38, 0, and 1.18-38 to 3.4038 |
4 bytes |
decimal |
–1038 + 1 to 1038 – 1 |
5 to 17 bytes |
money |
-922,337,203,685,477.5808 to 922,337,203,685,477.5807 |
8 bytes |
smallmoney |
-214,748.3648 to 214,748.3647 |
4 bytes |
bigint |
-263 (-9,223,372,036,854,775,808) to 263 - 1 (9,223,372,036,854,775,807) |
8 bytes |
int |
-231 (-2,147,483,648) to 231 - 1 (2,147,483,647) |
4 bytes |
smallint |
-215 (-32,768) to 215 – 1 (32,767) |
2 bytes |
tinyint |
0 to 255 |
1 byte |