数据类型 (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的仓库

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

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

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

  • 结果的数据类型是通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定的。

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

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

SQL Server 提供了数据类型同义词,以便实现 ISO 兼容性。 有关详细信息,请参阅数据类型同义词

有关 Azure Synapse Analytics 中数据类型的更具体信息,请参阅 Synapse SQL 中的表数据类型

有关 Microsoft Fabric 中数据类型的更具体信息,请参阅数据类型

数据类型类别

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

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

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

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

    注意

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

精确数字

1 数据类型用于存储布尔值。

2 数据类型和 数值 数据类型相同。

近似数字

日期和时间

字符串

Unicode 字符串

二进制字符串

其他数据类型

1 地理几何数据类型空间类型