Partager via


TYPE_NAME (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Renvoie le nom du type non qualifié correspondant à un ID de type spécifié.

Conventions de la syntaxe Transact-SQL

Syntaxe

TYPE_NAME ( type_id )   

Arguments

type_id
ID du type qui sera utilisé. type_id est de type int et peut faire référence à un type de n’importe quel schéma auquel l’appelant a l’autorisation d’accéder.

Types de retour

sysname

Exceptions

Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.

Dans SQL Server, un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'un droit d'accès. Cela signifie que les fonctions intégrées générant des métadonnées, telles que TYPE_NAME, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Metadata Visibility Configuration.

Remarques

TYPE_NAME renvoie la valeur NULL lorsque type_id n’est pas valide ou lorsque l’appelant n’a pas les autorisations suffisantes pour référencer le type.

TYPE_NAME fonctionne pour les types de données système ainsi que pour les types de données définis par l'utilisateur. Le type peut être contenu dans n'importe quel schéma, mais un nom de type non qualifié est toujours renvoyé. Cela signifie que le nom n’a pas le préfixe schema.

Les fonctions système peuvent être utilisées dans la liste de sélection, dans une clause WHERE, et partout où une expression est autorisée. Pour plus d’informations, consultez Expressions (Transact-SQL) et WHERE (Transact-SQL).

Exemples

L'exemple suivant renvoie le nom d'objet, le nom de colonne et le nom du type de chaque colonne de la table Vendor de la base de données 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  

Voici le jeu de résultats.

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)

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

L’exemple suivant renvoie la valeur TYPE ID pour le type de données avec l’ID 1.

SELECT TYPE_NAME(36) AS Type36, TYPE_NAME(239) AS Type239;  
GO  

Pour obtenir la liste des types, interrogez sys.types.

SELECT * FROM sys.types;  
GO  

Voir aussi

TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
Fonctions de métadonnées (Transact-SQL)