PARSENAME (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
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.
PARSENAME
não indica se existe um objeto com o nome especificado. PARSENAME
apenas retorna a parte especificada do nome do objeto especificado.
Convenções de sintaxe de Transact-SQL
Sintaxe
PARSENAME ('object_name' , object_piece )
Argumentos
'object_name'
O parâmetro que contém o nome do objeto para o qual recuperar a parte de objeto especificada. Esse 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 string 'object_name' é 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 é int e pode ser um destes valores:
Valor | Description |
---|---|
1 | Object name |
2 | Nome do esquema |
3 | Nome do banco de dados |
4 | Nome do servidor |
Tipos de retorno
sysname
Comentários
PARSENAME
retorna NULL
se uma das seguintes condições for verdadeira:
Tanto object_name quanto object_piece é
NULL
.Um erro de sintaxe ocorre.
A parte do objeto solicitado tem um comprimento e não é um identificador válido do
0
SQL Server. 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('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
Veja a seguir o conjunto de resultados.
Object Name
------------------------------
Person
Schema Name
------------------------------
Person
Database Name
------------------------------
AdventureWorks2022
Server Name
------------------------------
(null)