Partager via


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

USE AdventureWorks;
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    CreditRating             tinyint
Vendor    ModifiedDate             datetime
Vendor    Name                     Name
Vendor    PreferredVendorStatus    Flag
Vendor    PurchasingWebServiceURL  nvarchar
Vendor    VendorID                 int
(8 row(s) affected)