Compartilhar via


TYPE_NAME (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

TYPE_NAME ( type_id ) 

Argumentos

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

Tipos de retorno

sysname

Exceções

Retorna 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 Configuração de visibilidade de metadados e Solucionando problemas de visibilidade de metadados.

Comentários

TYPE_NAME retorna NULL quando type_id não é válido ou quando o chamador não tem 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 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, consulte 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 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

Conjunto de resultados.

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)