TYPE_NAME (Transact-SQL)

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

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

TYPE_NAME ( type_id ) 

Arguments

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

Types des valeurs renvoyées

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 Configuration de la visibilité des métadonnées et Dépannage de la visibilité des métadonnées.

Notes

TYPE_NAME renvoie NULL lorsque type_id n'est pas valide ou lorsque l'appelant n'a pas les autorisations suffisantes pour référence 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 SELECT, dans une clause WHERE, et partout où une expression est autorisée. Pour plus d'informations, consultez Expressions (Transact-SQL) et WHERE (Transact-SQL).

Exemple

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

Voici l'ensemble des 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)