SQL Server 2000 Data Types Reference
This SQL Server 2000 specific sheet was extracted from the orginal (all versions) 'SQL Server Data Types Reference' article. Please see the full original article for more details on why data types knowledge is important. The original article →
The SQL Server 2000 Data Types reference sheet
Datatype | Min | Max | Storage | Type | Notes |
---|---|---|---|---|---|
Bigint | -2^63 | 2^63-1 | 8 bytes | Exact | |
Int | -2,147,483,648 | 2,147,483,647 | 4 bytes | Exact | |
Smallint | -32,768 | 32,767 | 2 bytes | Exact | |
Tinyint | 0 | 255 | 1 bytes | Exact | |
Bit | 0 | 1 | 1 to 8 bit columns in the same table requires a total of 1 byte, 9 to 16 bits = 2 bytes, etc... | Exact | |
Decimal | -10^38+1 | 10^38–1 | Precision 1-9 = 5 bytes, precision 10-19 = 9 bytes, precision 20-28 = 13 bytes, precision 29-38 = 17 bytes | Exact | The Decimal and the Numeric data type is exactly the same. Precision is the total number of digits. Scale is the number of decimals. For both the minimum is 1 and the maximum is 38. |
Numeric | same as Decimal | same as Decimal | same as Decimal | Exact | |
Money | -2^63 / 10000 | 2^63-1 / 10000 | 8 bytes | Exact | |
Smallmoney | -214,748.3648 | 214,748.3647 | 4 bytes | Exact | |
Float | -1.79E + 308 | 1.79E + 308 | 4 bytes when precision is less than 25 and 8 bytes when precision is 25 through 53 | Approx | Precision is specified from 1 to 53. |
Real | -3.40E + 38 | 3.40E + 38 | 4 bytes | Approx | Precision is fixed to 7. |
Datetime | 1753-01-01 00:00:00.000 | 9999-12-31 23:59:59.997 | 8 bytes | Datetime | If you are running SQL Server 2008 or later and need milliseconds precision, use datetime2(3) instead to save 1 byte. |
Smalldatetime | 1900-01-01 00:00 | 2079-06-06 23:59 | Datetime | ||
Char | 0 chars | 8000 chars | Defined width | String | Fixed width |
Varchar | 0 chars | 8000 chars | 2 bytes + number of chars | String | Variable width |
Text | 0 chars | 2,147,483,647 chars | 4 bytes + number of chars | String | Variable width |
Nchar | 0 chars | 4000 chars | Defined width x 2 | Unicode | Fixed width |
Nvarchar | 0 chars | 4000 chars | Unicode | Variable width | |
Nvarchar(max) | 0 chars | 2^30 chars | Unicode | Variable width | |
Ntext | 0 chars | 1,073,741,823 chars | Unicode | Variable width | |
Binary | 0 bytes | 8000 bytes | Binary | Fixed width | |
Varbinary | 0 bytes | 8000 bytes | Binary | Variable width | |
Image | 0 bytes | 2,147,483,647 bytes | Binary | Variable width. Prefer to use the varbinary(max) type as the image type will be removed in future versions. | |
Sql_variant | Other | Stores values of various SQL Server-supported data types, except text, ntext, and timestamp. | |||
Timestamp | Other | Stores a database-wide unique number that gets updated every time a row gets updated. | |||
Uniqueidentifier | Other | Stores a globally unique identifier (GUID). | |||
Cursor | Other | A reference to a cursor. | |||
Table | Other | Stores a result set for later processing. |