Compartilhar via


TYPE_NAME (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Retorna o nome de tipo não qualificado de um ID de tipo especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

TYPE_NAME ( type_id )   

Argumentos

type_id
É a ID do tipo que será usado. type_id é um int e pode ser fazer referência a um tipo em qualquer esquema que o chamador tenha permissão para acessar.

Tipos de retorno

sysname

Exceções

Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.

No SQL Server, um usuário só pode exibir os metadados de itens protegíveis de sua propriedade ou para os quais ele tenha permissão concedida. Isso significa que funções internas que emitem metadados, como TYPE_NAME, poderão retornar o NULL se o usuário não tiver nenhuma permissão para o objeto. Para obter mais informações, consulte Metadata Visibility Configuration.

Comentários

TYPE_NAME retornará NULL quando type_id não for válido ou quando o chamador não tiver permissão suficiente para fazer referência ao tipo.

TYPE_NAME funciona para tipos de dados de sistema e também para tipos de dados definidos pelo usuário. O tipo pode estar contido em qualquer esquema, mas um nome de tipo não qualificado sempre será retornado. Isto significa que o nome não tem o prefixo schema.

As funções de sistema podem ser usadas na lista de seleção, na cláusula WHERE e em qualquer local onde uma expressão for permitida. Para obter mais informações, confira Expressões (Transact-SQL) e WHERE (Transact-SQL).

Exemplos

O exemplo a seguir retorna o nome de objeto, nome de coluna e nome de tipo para cada coluna na tabela Vendor do banco de dados 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  

Veja a seguir o conjunto de resultados.

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)

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

O exemplo a seguir retorna o TYPE ID do tipo de dados com a ID 1.

SELECT TYPE_NAME(36) AS Type36, TYPE_NAME(239) AS Type239;  
GO  

Para obter uma lista de tipos, consulte sys.types.

SELECT * FROM sys.types;  
GO  

Consulte Também

TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
funções de metadados (Transact-SQL)