Condividi tramite


TYPE_NAME (Transact-SQL)

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

Si applica a: SQL Server (SQL Server 2008 tramite versione corrente), Database SQL di Windows Azure (versione iniziale tramite versione corrente).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

TYPE_NAME ( type_id ) 

Argomenti

  • type_id
    ID del tipo che verrà utilizzato. 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.

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

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 row(s) affected)

Vedere anche

Riferimento

TYPE_ID (Transact-SQL)

TYPEPROPERTY (Transact-SQL)

sys.types (Transact-SQL)

Funzioni per i metadati (Transact-SQL)