TYPE_NAME (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

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

Convenzioni di 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 la 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 dei metadati (Transact-SQL)