PARSENAME (Transact-SQL)

Retourne la partie spécifiée d'un nom d'objet. Les parties d'un objet pouvant être extraites sont le nom de l'objet, le nom du propriétaire, le nom de la base de données et le nom du serveur.

[!REMARQUE]

La fonction PARSENAME n'indique pas s'il existe déjà un objet portant le nom spécifié. Elle se limite à retourner la partie indiquée du nom d'objet spécifié.

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

Syntaxe

PARSENAME ( 'object_name' , object_piece ) 

Arguments

  • 'object_name'
    Nom de l'objet contenant la partie d'objet spécifiée à extraire. L'argument object_name est de type sysname. Ce paramètre représente un nom d'objet éventuellement qualifié. Si toutes les parties du nom de l'objet sont qualifiées, ce nom peut se composer de quatre parties : le nom du serveur, le nom de la base de données, le nom du propriétaire et le nom de l'objet.

  • object_piece
    Partie de l'objet à retourner. L'argument object_piece est de type int et peut prendre les valeurs suivantes :

    1 = Nom de l'objet

    2 = Nom du schéma

    3 = Nom de la base de données

    4 = Nom du serveur

Types de retour

nchar

Notes

La fonction PARSENAME retourne NULL si l'une des conditions suivantes est vraie :

  • object_name ou object_piece est NULL.

  • une erreur de syntaxe s'est produite.

La partie d'objet recherchée a une longueur égale à 0 et n'est pas un identificateur MicrosoftSQL Server valide. Un nom d'objet d'une longueur égale à 0 invalide la totalité du nom qualifié. Pour plus d'informations, consultez Utilisation des identificateurs comme noms d'objet.

Exemple

L'exemple suivant utilise PARSENAME pour retourner des informations sur la table Contact de la base de données AdventureWorks.

USE AdventureWorks;
SELECT PARSENAME('AdventureWorks..Contact', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks..Contact', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks..Contact', 3) AS 'Database Name';
SELECT PARSENAME('AdventureWorks..Contact', 4) AS 'Server Name';
GO

Voici l'ensemble des résultats.

Object Name                    
------------------------------ 
Contact                        

(1 row(s) affected)

Schema Name                     
------------------------------ 
(null)                         

(1 row(s) affected)

Database Name                  
------------------------------ 
AdventureWorks                           

(1 row(s) affected)

Server Name                    
------------------------------ 
(null)                         

(1 row(s) affected)