数据类型 (Transact-SQL)
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric 中的仓库
在 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)。
注意
有关 Azure Synapse Analytics 中数据类型的更具体信息,请参阅 Synapse SQL 中的表数据类型。 有关 Microsoft Fabric 中数据类型的更具体信息,请参阅数据类型。
数据类型类别
SQL Server 中的数据类型归纳为下列类别:
精确数字
Unicode 字符串
近似数字
二进制字符串
日期和时间
其他数据类型
字符串
在 SQL Server 中,根据其存储特征,某些数据类型被指定为属于下列各组:
大值数据类型:varchar(max) 和 nvarchar(max)
大型对象数据类型:text、ntext、image、varbinary(max) 和 xml
注意
sp_help 返回 -1 作为较大值数据类型和 xml 数据类型的长度 。
精确数字
近似数字
日期和时间
字符串
Unicode 字符串
二进制字符串
其他数据类型
另请参阅
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)