TYPE_NAME (Transact-SQL)

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

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

Значок ссылки на раздел Синтаксические обозначения в 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 базы данных AdventureWorks2012 .

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          BusinessEntityID         int

Vendor          CreditRating             tinyint

Vendor          ModifiedDate             datetime

Vendor          Name                     Name

Vendor          PreferredVendorStatus    Flag

Vendor          PurchasingWebServiceURL  nvarchar

(8 row(s) affected)

См. также

Справочник

TYPE_ID (Transact-SQL)

TYPEPROPERTY (Transact-SQL)

sys.types (Transact-SQL)

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