PARSENAME (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Restituisce la parte specificata del nome di un oggetto. Le parti di un oggetto che è possibile recuperare sono il nome dell'oggetto, il nome dello schema, il nome del database e il nome del server.

PARSENAME non indica se esiste un oggetto in base al nome specificato. PARSENAME restituisce solo la parte specificata del nome dell'oggetto specificato.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

PARSENAME ('object_name' , object_piece )

Argomenti

'object_name'

Parametro che contiene il nome dell'oggetto per cui recuperare la parte dell'oggetto specificata. Questo parametro è un nome di oggetto qualificato facoltativamente. Se vengono qualificate tutte le parti del nome dell'oggetto, il nome può essere costituito da quattro parti, ovvero nome del server, nome del database, nome dello schema e nome dell'oggetto.

Ogni parte della stringa 'object_name' è sysname, equivalente a nvarchar(128) o 256 byte. Se una parte della stringa supera i 256 byte, PARSENAME restituisce NULL per tale parte, perché non è un sysname valido.

object_piece

Parte dell'oggetto da restituire. object_piece è int e può essere uno di questi valori:

valore Description
1 Object name
2 Nome schema
3 Nome database
4 Nome del server

Tipi restituiti

sysname

Osservazioni:

PARSENAME restituisce NULL se una delle condizioni seguenti è true:

  • Object_name o object_piece è NULL.

  • Si verifica un errore di sintassi.

  • La parte dell'oggetto richiesto ha una lunghezza di 0 e non è un identificatore di SQL Server valido. Se la lunghezza del nome dell'oggetto è pari a 0, il nome completo risulta non valido.

Esempi

Nell'esempio seguente viene utilizzato PARSENAME per restituire informazioni sulla tabella Person nel database 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

Il set di risultati è il seguente.

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

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

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

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