Wednesday, January 30, 2013

Data Types Found in SQL Server 2008


Data Types Found in SQL Server 2008
The following charts show the data types supported by Microsoft SQL Server 2008. Numeric data types, including types capable of storing both integers and decimal numbers, save information used in mathematical computations in SQL Server. Also included in SQL Server 2008 are data types specifically designed for storage of date and time, text in a Microsoft SQL Server database (character string data), any type of data represented in binary form, and other data types for special tasks, such as storing whole xml documents.
Numeric Data Types
Data Type
Description
Length
int
Stores integer values ranging from -2,147,483,648 to 2,147,483,647
4 bytes
tinyint
Stores integer values ranging from 0 to 255
1 byte
smallint
Stores integer values ranging from -32,768 to 32,767
2 bytes
bigint
Stores integer values ranging from -253 to 253-1
8 bytes
money
Stores monetary values ranging from -922,337,203,685,477.5808 to 922,337,203,685,477.5807
8 bytes
smallmoney
Stores monetary values ranging from -214,748.3648 to 214,748.3647
4 bytes
decimal(p,s)
Stores decimal values of precision p and scale s. The maximum precision is 38 digits
5–17 bytes
numeric(p,s)
Functionally equivalent to decimal
5–17 bytes
float(n)
Stores floating point values with precision of 7 digits (when n=24) or 15 digits (when n=53)
4 bytes (when n=24) or
8 bytes (when n=53)
real
Functionally equivalent to float(24)
4 bytes

Date and Time Data Types
Data Type
Description
Length
Example
date
Stores dates between January 1, 0001, and December 31, 9999
3 bytes
2008-01-15
datetime
Stores dates and times between January 1, 1753, and December 31, 9999, with an accuracy of 3.33 milliseconds
8 bytes
2008-01-15 09:42:16.142
datetime2
Stores date and times between January 1, 0001, and December 31, 9999, with an accuracy of 100 nanoseconds
6–8 bytes
2008-01-15 09:42:16.1420221
datetimeoffset
Stores date and times with the same precision as datetime2 and also includes an offset from Universal Time Coordinated (UTC) (also known as Greenwich Mean Time)
8-10 bytes
2008-01-15 09:42:16.1420221
+05:00
smalldatetime
Stores dates and times between January 1, 1900, and June 6, 2079, with an accuracy of 1 minute (the seconds are always listed as “:00”)
4 bytes
2008-01-15 09:42:00
time
Stores times with an accuracy of 100 nanoseconds
3–5 bytes
09:42:16.1420221
Data Type
Description
Length
char(n)
Stores n characters
n bytes (where n is in the range of 1–8,000)
nchar(n)
Stores n Unicode characters
2n bytes (where n is in the range of 1–4,000)
varchar(n)
Stores approximately n characters
Actual string length +2 bytes (where n is in the range of 1–8,000)
varchar(max)
Stores up to 231–1 characters
Actual string length +2 bytes
nvarchar(n)
Stores approximately n characters
2n(actual string length) +2 bytes (where n is in the range of 1–4,000)
nvarchar(max)
Stores up to ((231–1)/2)–2 characters
2n(actual string length) +2 bytes

Binary Data Types
Data Type
Description
Length
bit
Stores a single bit of data
1 byte per 8 bit columns in a table
binary(n)
Stores n bytes of binary data
n bytes (where n is in the range of 1–8,000)
varbinary(n)
Stores approximately n bytes of binary data
Actual length +2 bytes (where n is in the range of 1–8,000)
varbinary(max)
Stores up to 231–1 bytes of binary data
Actual length +2 bytes

Other Data Types
Data Type
Description
Length
cursor
Stores a reference to a cursor
N/A (cannot be used in a table)
sql_variant
May store any data type other than sql_variant, text, ntext, image, and timestamp
Up to 8,000 bytes
table
Stores a temporary table (such as a query result)
N/A (cannot be used in a table)
rowversion
Stores a value of the database time (a relative number that increments each time you insert or update data in a database. It is not related to calendar/clock time)
8 bytes
uniqueidentifier
Stores a globally unique identifier
2 bytes
xml                       
Stores formatted XML documents Up to                                                    
2GB
                                                                

The following charts show the data types supported by Microsoft SQL Server 2008. Numeric data types, including types capable of storing both integers and decimal numbers, save information used in mathematical computations in SQL Server. Also included in SQL Server 2008 are data types specifically designed for storage of date and time, text in a Microsoft SQL Server database (character string data), any type of data represented in binary form, and other data types for special tasks, such as storing whole xml documents.
Numeric Data Types
Data Type
Description
Length
int
Stores integer values ranging from -2,147,483,648 to 2,147,483,647
4 bytes
tinyint
Stores integer values ranging from 0 to 255
1 byte
smallint
Stores integer values ranging from -32,768 to 32,767
2 bytes
bigint
Stores integer values ranging from -253 to 253-1
8 bytes
money
Stores monetary values ranging from -922,337,203,685,477.5808 to 922,337,203,685,477.5807
8 bytes
smallmoney
Stores monetary values ranging from -214,748.3648 to 214,748.3647
4 bytes
decimal(p,s)
Stores decimal values of precision p and scale s. The maximum precision is 38 digits
5–17 bytes
numeric(p,s)
Functionally equivalent to decimal
5–17 bytes
float(n)
Stores floating point values with precision of 7 digits (when n=24) or 15 digits (when n=53)
4 bytes (when n=24) or
8 bytes (when n=53)
real
Functionally equivalent to float(24)
4 bytes

Date and Time Data Types
Data Type
Description
Length
Example
date
Stores dates between January 1, 0001, and December 31, 9999
3 bytes
2008-01-15
datetime
Stores dates and times between January 1, 1753, and December 31, 9999, with an accuracy of 3.33 milliseconds
8 bytes
2008-01-15 09:42:16.142
datetime2
Stores date and times between January 1, 0001, and December 31, 9999, with an accuracy of 100 nanoseconds
6–8 bytes
2008-01-15 09:42:16.1420221
datetimeoffset
Stores date and times with the same precision as datetime2 and also includes an offset from Universal Time Coordinated (UTC) (also known as Greenwich Mean Time)
8-10 bytes
2008-01-15 09:42:16.1420221
+05:00
smalldatetime
Stores dates and times between January 1, 1900, and June 6, 2079, with an accuracy of 1 minute (the seconds are always listed as “:00”)
4 bytes
2008-01-15 09:42:00
time
Stores times with an accuracy of 100 nanoseconds
3–5 bytes
09:42:16.1420221

Character String Data Types
Data Type
Description
Length
char(n)
Stores n characters
n bytes (where n is in the range of 1–8,000)
nchar(n)
Stores n Unicode characters
2n bytes (where n is in the range of 1–4,000)

varchar(n)
Stores approximately n characters
Actual string length +2 bytes (where n is in the range of 1–8,000)
varchar(max)
Stores up to 231–1 characters
Actual string length +2 bytes
nvarchar(n)
Stores approximately n characters
2n(actual string length) +2 bytes (where n is in the range of 1–4,000)
nvarchar(max)
Stores up to ((231–1)/2)–2 characters
2n(actual string length) +2 bytes

Binary Data Types
Data Type
Description
Length
bit
Stores a single bit of data
1 byte per 8 bit columns in a table
binary(n)
Stores n bytes of binary data
n bytes (where n is in the range of 1–8,000)
varbinary(n)
Stores approximately n bytes of binary data
Actual length +2 bytes (where n is in the range of 1–8,000)
varbinary(max)
Stores up to 231–1 bytes of binary data
Actual length +2 bytes

Other Data Types
Data Type
Description
Length
cursor
Stores a reference to a cursor
N/A (cannot be used in a table)
sql_variant
May store any data type other than sql_variant, text, ntext, image, and timestamp
Up to 8,000 bytes
table
Stores a temporary table (such as a query result)
N/A (cannot be used in a table)
rowversion
Stores a value of the database time (a relative number that increments each time you insert or update data in a database. It is not related to calendar/clock time)
8 bytes
uniqueidentifier
Stores a globally unique identifier
2 bytes
xml
Stores formatted XML documents
Up to 2GB

No comments:

Post a Comment