PARSENAME (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Gibt den angegebenen Teil eines Objektnamens zurück. Die Teile eines Objekts, die abgerufen werden können, sind der Objektname, der Schemaname, der Datenbankname und der Servername.

PARSENAME gibt nicht an, ob ein Objekt mit dem angegebenen Namen vorhanden ist. PARSENAME gibt nur den angegebenen Teil des angegebenen Objektnamens zurück.

Transact-SQL-Syntaxkonventionen

Syntax

PARSENAME ('object_name' , object_piece )

Argumente

'object_name'

Der Parameter, der den Namen des Objekts enthält, für das der angegebene Objektteil abgerufen werden soll. Dieser Parameter ist ein optional qualifizierter Objektname. Wenn alle Teile des Objektnamens gekennzeichnet sind, besteht dieser Name aus vier Teilen: dem Server-, Datenbank, Schema- und Objektnamen.

Jeder Teil der Zeichenfolge "object_name" ist sysname, was nvarchar(128) oder 256 Bytes entspricht. Wenn ein Teil der Zeichenfolge 256 Byte überschreitet, PARSENAME wird NULL dieser Teil zurückgegeben, da es sich nicht um einen gültigen Sysname handelt.

object_piece

Der zurückzugebende Objektteil. object_piece ist int und kann eine der folgenden Werte sein:

Wert Beschreibung des Dataflows
1 Objektname
2 Schemaname
3 Datenbankname
4 Servername

Rückgabetypen

sysname

Hinweise

PARSENAME gibt zurück NULL , wenn eine der folgenden Bedingungen erfüllt ist:

  • Entweder object_name oder object_piece ist NULL.

  • Ein Syntaxfehler tritt auf.

  • Der angeforderte Objektteil hat eine Länge und 0 ist kein gültiger SQL Server-Bezeichner. Ein Objektname mit der Länge 0 macht den gesamten qualifizierten Namen ungültig.

Beispiele

Im folgenden Beispiel wird PARSENAME verwendet, um Informationen zur Person-Tabelle in der AdventureWorks2022-Datenbank zurückzugeben.

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

Hier sehen Sie das Ergebnis.

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

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

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

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