TYPE_NAME (Transact-SQL)
Renvoie le nom du type non qualifié correspondant à un ID de type spécifié.
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)