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)