数据类型 (Transact-SQL)

在 SQL Server 中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。 数据类型是一种属性,用于指定对象可保存的数据的类型:整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等。

SQL Server 提供系统数据类型集,该类型集定义了可与 SQL Server 一起使用的所有数据类型。 您还可以使用 Transact-SQL 或 Microsoft .NET Framework 定义自己的数据类型。 别名数据类型基于系统提供的数据类型。 有关别名数据类型的详细信息,请参阅CREATE TYPE (Transact-SQL)。 用户定义类型从您使用 .NET Framework 支持的编程语言之一创建的类的方法和运算符中获取它们的特征。

当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时,结果的特征由以下规则确定:

  • 结果的数据类型是通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定的。 有关详细信息,请参阅数据类型优先级 (Transact-SQL)

  • 当结果数据类型为 char、varchar、text、nchar、nvarchar 或 ntext 时,结果的排序规则由排序规则的优先顺序规则确定。 有关详细信息,请参阅排序规则优先级 (Transact-SQL)

  • 结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。 有关详细信息,请参阅精度、小数位数和长度 (Transact-SQL)

SQL Server 提供了数据类型同义词以与 ISO 兼容。 有关详细信息,请参阅数据类型同义词 (Transact-SQL)

数据类型类别

SQL Server 中的数据类型归纳为下列类别:

精确数字

Unicode 字符串

近似数字

二进制字符串

日期和时间

其他数据类型

字符串

 

在 SQL Server 中,根据其存储特征,某些数据类型被指定为属于下列各组:

  • 大值数据类型:varchar(max)、nvarchar(max) 和 varbinary(max)

  • 大型对象数据类型:text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max) 和 xml

    注意注意

    sp_help 返回 -1 作为大值数据类型和 xml 数据类型的长度。

精确数字

bigint

numeric

bit

smallint

decimal

smallmoney

int

tinyint

money

 

近似数字

float

real

日期和时间

date

datetimeoffset

datetime2

smalldatetime

datetime

time

字符串

char

varchar

text

 

Unicode 字符串

nchar

nvarchar

ntext

 

二进制字符串

binary

varbinary

image

 

其他数据类型

cursor

timestamp

hierarchyid

uniqueidentifier

sql_variant

xml

table

空间类型

请参阅

参考

CREATE PROCEDURE (Transact-SQL)

CREATE TABLE (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

EXECUTE (Transact-SQL)

表达式(Transact-SQL)

内置函数 (Transact-SQL)

LIKE (Transact-SQL)

sp_droptype (Transact-SQL)

sp_help (Transact-SQL)

sp_rename (Transact-SQL)