PARSENAME (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Microsoft Fabric

Returnerar den specificerade delen av ett objektnamn. De delar av ett objekt som kan hämtas är objektnamn, schemanamn, databasnamn och servernamn.

PARSENAME anger inte om ett objekt med det angivna namnet existerar. PARSENAME returnerar bara den angivna delen av det angivna objektnamnet.

Transact-SQL syntaxkonventioner

Syntax

PARSENAME ('object_name' , object_piece )

Arguments

'object_name'

Parametern som innehåller namnet på objektet för vilket den specificerade objektdelen ska hämtas. Denna parameter är ett valfritt kvalificerat objektnamn. Om alla delar av objektnamnet är kvalificerade kan detta namn ha fyra delar: servernamnet, databasnamnet, schemanamnet och objektnamnet.

Varje del av strängen 'object_name' är sysname, vilket motsvarar nvarchar(128) eller 256 byte. Om någon del av strängen överstiger 256 byte, PARSENAME returneras NULL för den delen, eftersom det inte är ett giltigt sysname.

object_piece

Föremålet att återlämna. object_piece är int, och kan vara ett av dessa värden:

Värde Description
1 Objektnamn
2 Schemanamn
3 Databasnamn
4 Servernamn

Returtyper

sysname

Anmärkningar

PARSENAME returnerar NULL om ett av följande villkor är uppfyllt:

  • Antingen object_name eller object_piece är NULL.

  • Ett syntaxfel uppstår.

  • Den begärda objektdelen har längden på 0 och är inte en giltig SQL Server-identifierare. Ett objektnamn med nolllängd gör det fullständiga kvalificerade namnet ogiltigt.

Examples

Följande exempel används PARSENAME för att returnera information om Person tabellen i databasen AdventureWorks2025 .

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

Här är resultatet.

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

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

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

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