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


TYPE_NAME (Transact-SQL)

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

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

Синтаксис

TYPE_NAME ( type_id ) 

Аргументы

  • type_id
    Идентификатор типа, который будет использован. Аргумент type_id имеет тип int и может ссылаться на тип в любой схеме, на доступ к которой у вызывающего объекта имеется разрешение.

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

sysname

Исключения

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

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

Замечания

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

Функция TYPE_NAME используется и для системных, и для пользовательских типов данных. Этот тип может содержаться в любой схеме, но неполное имя типа возвращается всегда. Это значит, что у имени отсутствует префикс schema**.**.

Системные функции можно использовать в списке выбора, в предложении WHERE и в любом месте, где разрешается указывать выражение. Дополнительные сведения см. в разделах Выражения (Transact-SQL) и Предложение WHERE (Transact-SQL).

Примеры

В следующих примерах возвращается имя объекта, имя столбца и имя типа для каждого столбца в таблице Vendor базы данных AdventureWorks.

USE AdventureWorks;
GO
SELECT o.name AS obj_name, c.name AS col_name,
       TYPE_NAME(c.user_type_id) AS type_name
FROM sys.objects AS o 
JOIN sys.columns AS c  ON o.object_id = c.object_id
WHERE o.name = 'Vendor'
ORDER BY col_name;
GO

Ниже приводится результирующий набор.

obj_name  col_name                 type_name
--------- -----------------------  -------------------
Vendor    AccountNumber            AccountNumber
Vendor    ActiveFlag               Flag
Vendor    CreditRating             tinyint
Vendor    ModifiedDate             datetime
Vendor    Name                     Name
Vendor    PreferredVendorStatus    Flag
Vendor    PurchasingWebServiceURL  nvarchar
Vendor    VendorID                 int
(8 row(s) affected)