PARSENAME (Transact-SQL)

S’applique à :yesSQL Server (toutes les versions prises en charge) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Retourne la partie spécifiée d'un nom d'objet. Les parties d'un objet pouvant être récupérées sont le nom de l’objet, le nom du schéma, le nom de la base de données et le nom du serveur.

Notes

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

Topic link iconConventions de la syntaxe Transact-SQL

Syntaxe

PARSENAME ('object_name' , object_piece )

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.

Arguments

'object_name' est le paramètre qui contient le nom de l’objet pour lequel récupérer la partie d’objet spécifiée. 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 schéma et le nom de l'objet. Chaque partie de la chaîne 'object_name' est de type sysname qui est équivalente à nvarchar(128) ou 256 octets. Si une partie de la chaîne dépasse 256 octets, PARSENAME retourne la valeur NULL pour cette partie, car il ne s’agit pas d’un sysname valide.

object_piece
Partie de l'objet à retourner. 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

Type de retour

sysname

Notes

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

  • object_name ou object_piece a la valeur 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 Microsoft SQL Server valide. Un nom d'objet d'une longueur égale à 0 invalide la totalité du nom qualifié.

Exemples

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

-- Uses AdventureWorks  
  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 1) AS 'Object Name';  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 2) AS 'Schema Name';  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 3) AS 'Database Name';  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 4) AS 'Server Name';  
GO  

Voici le jeu de résultats obtenu.

Object Name
------------------------------
DimCustomer

(1 row(s) affected)

Schema Name
------------------------------
dbo

(1 row(s) affected)

Database Name
------------------------------
AdventureWorksPDW2012

(1 row(s) affected)

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

(1 row(s) affected)

Voir aussi