Partager via


PARSENAME (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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.

PARSENAME n’indique pas si un objet portant le nom spécifié existe. PARSENAME retourne simplement la partie spécifiée du nom de l’objet spécifié.

Conventions de la syntaxe Transact-SQL

Syntaxe

PARSENAME ('object_name' , object_piece )

Arguments

'object_name'

Paramètre qui contient le nom de l’objet pour lequel récupérer la partie d’objet spécifiée. Ce paramètre est un nom d’objet qualifié facultatif. 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 sysname, qui équivaut à nvarchar(128) ou 256 octets. Si une partie de la chaîne dépasse 256 octets, PARSENAME retourne NULL cette partie, car elle n’est pas un nom sysname valide.

object_piece

Composant objet à retourner. object_piece est int et peut être l’une des valeurs suivantes :

Valeur Description
1 Object name
2 Nom du schéma
3 Nom de la base de données
4 Nom du serveur

Types de retour

sysname

Notes

PARSENAME retourne NULL si l’une des conditions suivantes est remplie :

  • Object_name ou object_piece est NULL.

  • une erreur de syntaxe s'est produite.

  • La partie objet demandée a une longueur 0 et n’est pas un identificateur 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 AdventureWorks2022.

-- Uses AdventureWorks

SELECT PARSENAME('AdventureWorks2022.Person.Person', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks2022.Person.Person', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks2022.Person.Person', 3) AS 'Database Name';
SELECT PARSENAME('AdventureWorks2022.Person.Person', 4) AS 'Server Name';
GO

Voici le jeu de résultats obtenu.

Object Name
------------------------------
Person

Schema Name
------------------------------
Person

Database Name
------------------------------
AdventureWorks2022

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