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)