SQL Server Data Types

Numeric Types

Type Storage Size Description
int 4 bytes Integer data ranging from -2,147,483,648 to 2,147,483,647.
bigint 8 bytes Large integer data ranging from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
smallint 2 bytes Integer data ranging from -32,768 to 32,767.
tinyint 1 byte Unsigned integer ranging from 0 to 255.
decimal(p,s) Variable (2-17 bytes) Fixed precision and scale numeric data.
numeric(p,s) Variable (2-17 bytes) Synonym for decimal.
float 4 or 8 bytes Floating‑point number. Precision determined by n.
real 4 bytes Floating‑point number with 7 digits precision.
money 8 bytes Currency values with four decimal places.
smallmoney 4 bytes Currency values with four decimal places.

Character & String Types

Type Storage Size Description
char(n) n bytes Fixed‑length non‑Unicode string.
varchar(n) Variable (0‑8000 bytes) Variable‑length non‑Unicode string.
text Variable (up to 2 GB) Deprecated large non‑Unicode data.
nchar(n) 2n bytes Fixed‑length Unicode string.
nvarchar(n) Variable (0‑4000 bytes) Variable‑length Unicode string.
ntext Variable (up to 2 GB) Deprecated large Unicode data.
binary(n) n bytes Fixed‑length binary data.
varbinary(n) Variable (0‑8000 bytes) Variable‑length binary data.
image Variable (up to 2 GB) Deprecated large binary data.

Date & Time Types

Type Storage Size Description
date 3 bytes Store date only (YYYY‑MM‑DD).
datetime 8 bytes Date and time (range 1753‑01‑01 to 9999‑12‑31).
datetime2(p) 6‑8 bytes Extended range and precision.
datetimeoffset(p) 8‑10 bytes Date, time, and offset from UTC.
smalldatetime 4 bytes Less precise date & time.
time(p) 3‑5 bytes Time of day only.
timestamp 8 bytes Row versioning; synonym for rowversion.
rowversion 8 bytes Automatic binary numbers for version‑stamping rows.

Miscellaneous Types

Type Storage Size Description
uniqueidentifier 16 bytes Globally unique identifier (GUID).
xml Variable (up to 2 GB) XML data storage with typed support.
sql_variant Variable (up to 8019 bytes) Stores values of various SQL Server data types.
hierarchyid Variable (up to 892 bytes) Represents hierarchical data.
geography Variable (up to 2 GB) Spatial data based on a round‑earth model.
geometry Variable (up to 2 GB) Spatial data based on a flat‑plane model.