TYPE_NAME (Transact-SQL)
Si applica a: SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
azure Synapse Analytics Analytics
Platform System (PDW)
Restituisce il nome non qualificato di un tipo con l'ID specificato.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
TYPE_NAME ( type_id )
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere Documentazione delle versioni precedenti.
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 altre informazioni, vedere Metadata Visibility Configuration.
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, Questo significa che il nome non ha 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 altre 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 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
Questo è il 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)
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
Nell'esempio seguente viene restituito il valore di TYPE ID
per il tipo di dati con ID 1
.
SELECT TYPE_NAME(36) AS Type36, TYPE_NAME(239) AS Type239;
GO
Per un elenco dei tipi, eseguire una query su sys.types.
SELECT * FROM sys.types;
GO
Vedi anche
TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
Funzioni per i metadati (Transact-SQL)