TYPE_NAME (Transact-SQL)
Применимо: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
azure Synapse Analytics Analytics
Platform System (PDW)
Возвращает неполное имя типа с указанным идентификатором.
Соглашения о синтаксисе Transact-SQL
Синтаксис
TYPE_NAME ( type_id )
Аргументы
type_id
Идентификатор типа, который будет использован. Аргумент type_id имеет тип int и может ссылаться на тип в любой схеме, на доступ к которой у участника имеется разрешение.
Типы возвращаемых данных
sysname
Исключения
Возвращает значение NULL в случае ошибки или если участник не имеет разрешений для просмотра объекта.
В SQL Server пользователь может просматривать только метаданные защищаемых объектов, принадлежащих пользователю или которым предоставлено разрешение. Это означает, что встроенные функции, создающие метаданные, такие как TYPE_NAME, могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Замечания
Функция TYPE_NAME возвращает значение NULL, если аргумент type_id недопустим или у вызывающего объекта недостаточно разрешений для создания ссылки на этот тип.
Функция TYPE_NAME используется и для системных, и для пользовательских типов данных. Этот тип может содержаться в любой схеме, но неполное имя типа возвращается всегда. Это значит, что у имени отсутствует префикс schema..
Системные функции можно использовать в списке выбора, в предложении WHERE и в любом месте, где разрешается использование выражений. Дополнительные сведения см. в статьях Выражения (Transact-SQL) и WHERE (Transact-SQL).
Примеры
В следующих примерах возвращается имя объекта, имя столбца и имя типа для каждого столбца в таблице Vendor
базы данных AdventureWorks2022
.
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)
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В приведенном ниже примере возвращается значение TYPE ID
для типа данных с идентификатором 1
.
SELECT TYPE_NAME(36) AS Type36, TYPE_NAME(239) AS Type239;
GO
Чтобы получить список типов, выполните запрос к sys.types.
SELECT * FROM sys.types;
GO
См. также
TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
Функции метаданных (Transact-SQL)