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)