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


TYPE_ID (Transact-SQL)

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

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

TYPE_ID ( [ schema_name ] type_name )

 Аргументы

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

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

int

Исключения

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

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

Замечания

Функция 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

Б.Поиск значения функции TYPE ID для системного типа данных

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

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

См. также

Справочник

TYPE_NAME (Transact-SQL)

TYPEPROPERTY (Transact-SQL)

sys.types (Transact-SQL)

Функции метаданных (Transact-SQL)