TYPE_ID (Transact-SQL)

Относится к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsАналитическая платформа (PDW)SQL база данных в Microsoft Fabric

Возвращает идентификатор для указанного имени типа данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

TYPE_ID ( [ schema_name ] type_name )   

Аргументы

type_name
Имя типа данных. Аргумент type_name имеет тип nvarchar. Аргумент type_name может иметь системный или определяемый пользователем тип данных.

Типы возвращаемых данных

int

Исключения

Возвращает значение NULL в случае ошибки или если участник не имеет разрешений для просмотра объекта.

В SQL Server пользователь может просматривать только метаданные защищаемых объектов, принадлежащих пользователю или которым предоставлено разрешение. Это означает, что встроенные функции, создающие метаданные, такие как TYPE_ID могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

Замечания

Функция TYPE_ID возвращает NULL, если имя типа неверно или если вызывающий не имеет необходимых разрешений на использование этого типа.

Примеры

А. Поиск TYPE ID-значений для одно- и двухчастных названий типов

В следующем примере возвращается идентификатор для имен типов, состоящих из одной и двух частей.

USE tempdb;  
GO  
CREATE TYPE NewType FROM int;  
GO  
CREATE SCHEMA NewSchema;  
GO  
CREATE TYPE NewSchema.NewType FROM int;  
GO  
SELECT TYPE_ID('NewType') AS [1 Part Data Type ID],  
       TYPE_ID('NewSchema.NewType') AS [2 Part Data Type ID];  
GO  

B. Поиск ID TYPE типа системных данных

В следующем примере возвращается значение TYPE ID для системного типа данных datetime.

SELECT TYPE_NAME(TYPE_ID('datetime')) AS [TYPE_NAME]  
    ,TYPE_ID('datetime') AS [TYPE_ID];  
GO  

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

C: Поиск TYPE идентификатора типа системных данных

В следующем примере возвращается значение TYPE ID для системного типа данных datetime.

SELECT TYPE_NAME(TYPE_ID('datetime')) AS typeName,   
    TYPE_ID('datetime') AS typeID FROM table1;  

См. также

TYPE_NAME (Transact-SQL)
ТИПОВОЕ СВОЙСТВО (Transact-SQL)
sys.types (Transact-SQL)
Функции метаданных (Transact-SQL)