Transact-SQL 参考

数据类型同义词

包括数据类型同义词以便实现 SQL-92 的兼容性。

同义词 映射为系统数据类型
Binary varying Varbinary
char varying Varchar
character Char
character char(1)
character(n) char(n)
character varying(n) varchar(n)
Dec decimal
Double precision float
float[(n)] for n = 1-7 real
float[(n)] for n = 8-15 float
integer int
national character(n) nchar(n)
national char(n) nchar(n)
national character varying(n) nvarchar(n)
national char varying(n) nvarchar(n)
national text ntext
rowversion timestamp

在诸如 CREATE TABLE、CREATE PROCEDURE 或 DECLARE @variable 这类数据定义语言 (DDL) 语句中,数据类型同义词可用来代替相应的基本数据类型名。不过,创建了对象后,将看不到同义词。创建对象时,将给对象指派与同义词关联的基本数据类型,且在创建对象的语句中没有关于已指定同义词的记录。

将给所有由原始对象派生出的对象(如结果集列或表达式)指派基本数据类型。所有在原始对象和任何派生对象上执行的后续元数据函数都将报告基本数据类型,而不是同义词。这包括元数据操作(如 sp_help)和其它报告表或结果集列的数据类型的系统存储过程、信息架构视图或各种数据访问 API 元数据操作。

数据类型同义词也不能在图形管理实用工具(如 SQL Server 企业管理器)中指定。

例如,可创建一个指定 national character varying 的表:

CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, VarCHarCol national character varying(10))

实际上给 VarCharCol 指派了 nvarchar(10) 数据类型,并且所有后续元数据函数将它报告为 nvarchar(10) 列。元数据函数决不会将它们报告为 national character varying(10) 列。