Introduction SQL Data Type

SQL data type is an attribute that specifies type of data of any object. Each column, variable and expression has related data type in SQL.

Data Type varies from database to database. For example, MySQL supports INT but Oracle supports NUMBER for integer values.


Data Types:

DATA TYPE FROM TO Syntax Explanation
int -2,147,483,648 2,147,483,647 INTEGER integer number.
smallint -32,768 32,767 SMALLINT small integer number.
bit 0 1 BIT(X) where 'x' is the number of bits to store
decimal -10^38 +1 10^38 .1 DECIMAL(P,S) where 'p' is precision value and 's' is scale value.
numeric -10^38 +1 10^38 .1 NUMERIC(P,S) where 'p' is precision value and 's' is scale value.
Real -3.40E + 38 3.40E + 38 REAL single precision floating point number
Decimal -10^38 +1 10^38 .1 DECIMAL(P,S) where 'p' is precision value and 's' is scale value.
Double precision DOUBLE PRECISION double precision floating point number
Float -1.79E + 308 1.79E + 308 FLOAT(P) where 'p' is precision value
Character char Maximum length of 8,000 characters.( Fixed length non-Unicode characters) CHAR(X) where 'x' is the character's number to store
Date ----- DATE it stores year, month and days values.
Time Stores a time of day like 12:30 P.M. TIME it stores hour, minute and second values
Timestamp TIMESTAMP it stores year, month, day, hour, minute and second values
Time with TIME WITH exactly same as time but also store an offset from UTC
time zone TIME ZONE of the time specified
timestamp with TIMESTAMP WITH same as timestamp but also stores an offset from UTC of
time zone TIME ZONE the time specified.

Unicode Character Strings Data Types:

DATA TYPE Description
nchar Maximum length of 4,000 characters.( Fixed length Unicode)
nvarchar Maximum length of 4,000 characters.(Variable length Unicode)
nvarchar(max) Maximum length of 231characters (SQL Server 2005 only).( Variable length Unicode)
ntext Maximum length of 1,073,741,823 characters. ( Variable length Unicode )

Binary Data Types:

DATA TYPE Description
binary Maximum length of 8,000 bytes(Fixed-length binary data )
varbinary Maximum length of 8,000 bytes.(Variable length binary data)
varbinary(max) Maximum length of 231 bytes (SQL Server 2005 only). ( Variable length Binary data)
image Maximum length of 2,147,483,647 bytes. ( Variable length Binary Data)

Misc Data Types:

DATA TYPE Description
sql_variant Stores values of various SQL Server-supported data types, except text, ntext, and timestamp.
timestamp Stores a database-wide unique number that gets updated every time a row gets updated
uniqueidentifier Stores a globally unique identifier (GUID)
xml Stores XML data. You can store xml instances in a column or a variable (SQL Server 2005 only).
cursor Reference to a cursor object
table Stores a result set for later processing