PARSENAME (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

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

Observação

A função PARSENAME não indica se existe um objeto pelo nome especificado. PARSENAME apenas retorna a parte especificada do nome de objeto especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

PARSENAME ('object_name' , object_piece )

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

' object_name ' é o parâmetro que contém o nome do objeto para o qual a parte de objeto especificada deve ser recuperada. Este parâmetro é um nome de objeto opcionalmente qualificado. Se todas as partes do nome do objeto forem qualificadas, esse nome poderá ter quatro partes: o nome do servidor, o nome do banco de dados, o nome do esquema e o nome do objeto. Cada parte da cadeia de caracteres "object_name" é do tipo sysname que é equivalente a nvarchar(128) ou 256 bytes. Se qualquer parte da cadeia de caracteres exceder 256 bytes, PARSENAME retornará NULL para essa parte, pois não é um sysname válido.

object_piece
É a parte do objeto a ser retornada. object_piece é do tipo int e pode ter estes valores:
1 = Nome do objeto
2 = Nome do esquema
3 = Nome do banco de dados
4 = Nome do servidor

Tipo de retorno

sysname

Comentários

PARSENAME retornará o NULL se uma das seguintes condições for verdadeira:

  • object_name ou object_piece é NULL.

  • Um erro de sintaxe ocorre.

A parte do objeto solicitada tem um tamanho igual a 0 e não é um identificador do Microsoft SQL Server válido. Um nome de objeto de comprimento zero processa o nome qualificado completo como não válido.

Exemplos

O exemplo a seguir usa PARSENAME para retornar informações sobre a tabela Person no banco de dados AdventureWorks2022.

-- Uses AdventureWorks  
  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 1) AS 'Object Name';  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 2) AS 'Schema Name';  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 3) AS 'Database Name';  
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 4) AS 'Server Name';  
GO  

Este é o conjunto de resultados.

Object Name
------------------------------
DimCustomer

(1 row(s) affected)

Schema Name
------------------------------
dbo

(1 row(s) affected)

Database Name
------------------------------
AdventureWorksPDW2012

(1 row(s) affected)

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

(1 row(s) affected)

Consulte Também