Condividi tramite


TYPE_NAME (Transact-SQL)

Restituisce il nome non qualificato di un tipo con l'ID specificato.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

TYPE_NAME ( type_id ) 

Argomenti

  • type_id
    ID del tipo da utilizzare. type_id è di tipo int e può fare riferimento a un tipo in qualsiasi schema a cui il chiamante può accedere.

Tipi restituiti

sysname

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

In SQL Server un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come TYPE_NAME possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati e Risoluzione dei problemi relativi alla visibilità dei metadati.

Osservazioni

TYPE_NAME restituisce NULL quando type_id non è valido oppure quando il chiamante non dispone di autorizzazioni sufficienti per fare riferimento al tipo.

La funzione TYPE_NAME può essere utilizzata sia con tipi di dati di sistema che con tipi di dati definiti dall'utente. Il nome restituito è sempre non qualificato, indipendentemente dallo schema in cui il tipo è contenuto, e non include pertanto il prefisso schema**.**

È possibile utilizzare funzioni di sistema nell'elenco di selezione, nella clausola WHERE e in tutti i casi in cui è consentita un'espressione. Per ulteriori informazioni, vedere Espressioni (Transact-SQL) e WHERE (Transact-SQL).

Esempi

Nell'esempio seguente vengono restituiti il nome dell'oggetto, il nome della colonna e il nome del tipo per ogni colonna della tabella Vendor nel database AdventureWorks2008R2.

USE AdventureWorks2008R2;
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

Set di risultati:

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 righe interessate)