Partilhar via


PARSENAME (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Base de dados SQL no Microsoft Fabric

Devolve a parte especificada de um nome de objeto. As partes de um objeto que podem ser recuperadas são o nome do objeto, nome do esquema, nome da base de dados e nome do servidor.

PARSENAME não indica se existe um objeto com o nome especificado. PARSENAME apenas devolve a parte especificada do nome do objeto especificado.

Transact-SQL convenções de sintaxe

Sintaxe

PARSENAME ('object_name' , object_piece )

Arguments

'object_name'

O parâmetro que contém o nome do objeto para o qual recuperar a parte do objeto especificada. Este parâmetro é um nome de objeto opcionalmente qualificado. Se todas as partes do nome do objeto forem qualificadas, este nome pode ter quatro partes: o nome do servidor, o nome da base de dados, o nome do esquema e o nome do objeto.

Cada parte da cadeia 'object_name' é sysname, equivalente a nvarchar(128) ou 256 bytes. Se alguma parte da string ultrapassar 256 bytes, PARSENAME devolve NULL essa parte, pois não é um nome de sistema válido.

object_piece

A parte do objeto para devolver. object_piece é int, e pode ser um destes valores:

Valor Description
1 Nome do objeto
2 Nome do esquema
3 Nome da base de dados
4 Nome do servidor

Tipos de devolução

sysname

Observações

PARSENAME retorna NULL se uma das seguintes condições for verdadeira:

  • Ou object_name ou object_piece é NULL.

  • Ocorre um erro de sintaxe.

  • A parte do objeto solicitado tem um comprimento de 0 e não é um identificador válido do SQL Server. Um nome de objeto de comprimento zero torna o nome qualificado completo como inválido.

Examples

O exemplo seguinte serve PARSENAME para devolver informação sobre a Person tabela na AdventureWorks2025 base de dados.

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

Aqui está o conjunto de resultados.

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

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

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

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