Поделиться через


Синонимы типов данных (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка SQL аналитики в Microsoft FabricХранилище в Microsoft FabricБаза данных SQL в Microsoft Fabric

Синонимы типа данных включены в SQL Server для совместимости ISO. В следующей таблице перечислены синонимы и системные типы данных SQL Server, с которыми они сопоставляются.

Synonym Системный тип данных SQL Server
Бинарно варьирующийся varbinary
Варьирующийся характер varchar
character char
character char(1)
character(n) char(n)
Характер варьирует(n) varchar(n)
dec decimal
двойная точность float
float[(n)] for n = 1-7 real
float[(n)] for n = 8-15 float
integer int
Национальный характер(n) nchar(n)
Национальная чара(н) nchar(n)
национальный символ разными(n) nvarchar(n)
национальная переменная(n) nvarchar(n)
Национальный текст ntext
rowversion timestamp

Синонимы типов данных можно использовать вместо соответствующих базовых типов данных в инструкциях языка описания данных DDL. К таким инструкциям относятся CREATE TABLE, CREATE PROCEDURE и DECLARE @переменная. Однако после создания объекта синонимы утрачивают силу. При создании объекта ему назначается базовый тип данных, связанный с синонимом. Никаких признаков того, что в инструкции, создавшей объект, был указан синоним, не остается.

Объектам, производным от исходного объекта, таким как столбцы результирующего набора или выражения, назначается базовый тип данных. Все функции метаданных, которые используют исходный объект и любые производные от него объекты, сообщают базовый тип данных, а не синоним, включая:

  • операции с метаданными, такие как sp_help и другие системные хранимые процедуры,
  • представления информационной схемы и
  • операции с метаданными API доступа к данным, сообщающих типы данных таблицы или столбцы результирующего набора.

Например, можно создать таблицу, указав тип national character varying:

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

Столбцу VarCharCol назначен тип данных nvarchar(10), и все следующие вызовы функций работы с метаданными будут сообщать, что этот столбец имеет тип nvarchar(10). а не national character varying(10).

См. также

Типы данных (Transact-SQL)