Синонимы типов данных (Transact-SQL)
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
хранилище платформы Аналитики Azure Synapse Analytics
(PDW)
в Microsoft Fabric
Синонимы типа данных включены в SQL Server для совместимости ISO. В следующей таблице перечислены синонимы и системные типы данных SQL Server, с которыми они сопоставляются.
Синоним | Системный тип данных SQL Server |
---|---|
двоичная переменная | varbinary |
char varying | varchar |
character | char |
character | char(1) |
character(n) | char(n) |
character varying(n) | varchar(n) |
dec | десятичное |
двойная точность | 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 |
Синонимы типов данных можно использовать вместо соответствующих базовых типов данных в инструкциях языка описания данных 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).