Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Data types (Transact-SQL)

09/13/ 2017  2 minutes to read Contributors


   

 

 

 

 

THIS TOPIC APPLIES TO:  SQL Server (starting with 2008) Azure SQL Database
Azure SQL Data Warehouse  Parallel Data Warehouse

In SQL Server, each column, local variable, expression, and parameter has a related data
type. A data type is an attribute that specifies the type of data that the object can hold:
integer data, character data, monetary data, date and time data, binary strings, and so
on.

SQL Server supplies a set of system data types that define all the types of data that can
be used with SQL Server. You can also define your own data types in Transact-SQL or
the Microsoft .NET Framework. Alias data types are based on the system-supplied data
types. For more information about alias data types, see CREATE TYPE (Transact-SQL).
User-defined types obtain their characteristics from the methods and operators of a
class that you create by using one of the programming languages support by the .NET
Framework.

When two expressions that have different data types, collations, precision, scale, or
length are combined by an operator, the characteristics of result are determined by the
following:

 The data type of the result is determined by applying the rules of data type
precedence to the data types of the input expressions. For more information,
see Data Type Precedence (Transact-SQL).
 The collation of the result is determined by the rules of collation precedence
when the result data type is char, varchar, text, nchar, nvarchar, or ntext. For
more information, see Collation Precedence (Transact-SQL).
 The precision, scale, and length of the result depend on the precision, scale, and
length of the input expressions. For more information, see Precision, Scale, and
Length (Transact-SQL).

SQL Server provides data type synonyms for ISO compatibility. For more information,
see Data Type Synonyms (Transact-SQL).

Data type categories


Data types in SQL Server are organized into the following categories:

Exact numerics Unicode character strings

Approximate numerics Binary strings

Date and time Other data types

Character strings

In SQL Server, based on their storage characteristics, some data types are designated as
belonging to the following groups:

 Large value data types: varchar(max), and nvarchar(max)


 Large object data types: text, ntext, image, varbinary(max), and xml
Note
sp_help returns -1 as the length for the large-value and xml data types.

Exact numerics

bigint numeric

bit smallint

decimal smallmoney
int tinyint

money

Approximate numerics

float real

Date and time

date datetimeoffset

datetime2 smalldatetime

datetime time

Character strings

char varchar

text

Unicode character strings

nchar nvarchar

ntext

Binary strings

binary varbinary
image

Other data types

cursor rowversion

hierarchyid uniqueidentifier

sql_variant xml

Spatial Geometry Types Spatial Geography Types

table

See also
CREATE PROCEDURE (Transact-SQL)
CREATE TABLE (Transact-SQL)
DECLARE @local_variable (Transact-SQL) EXECUTE (Transact-SQL)
Expressions (Transact-SQL)
Functions (Transact-SQL)
LIKE (Transact-SQL)
sp_droptype (Transact-SQL)
sp_help (Transact-SQL)
sp_rename (Transact-SQL)

You might also like