PARSENAME (Transact-SQL)

Se aplica a:yesSQL Server (todas las versiones admitidas) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Devuelve la parte especificada de un nombre de objeto. Las partes de un objeto que se pueden recuperar son el nombre del objeto, el nombre del esquema, el nombre de la base de datos y el nombre del servidor.

Nota

La función PARSENAME no indica si existe un objeto con el nombre especificado. PARSENAME solo devuelve la parte especificada del nombre de objeto especificado.

Topic link iconConvenciones de sintaxis de Transact-SQL

Sintaxis

PARSENAME ('object_name' , object_piece )

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

"object_name" Es el parámetro que contiene el nombre del objeto para el que se va a recuperar la parte de objeto especificada. Este parámetro es un nombre de objeto completo opcionalmente. Si todas las partes del nombre de objeto están completas, este nombre puede tener cuatro partes: el nombre del servidor, el de la base de datos, el del esquema y el del propio objeto. Cada parte de la cadena "object_name" es de tipo sysname, que es equivalente a nvarchar (128) o 256 bytes. Si alguna parte de la cadena supera los 256 bytes, PARSENAME devolverá NULL para esa parte, ya que no es un tipo sysname válido.

object_piece
Es la parte del objeto que se va a devolver. object_piece es de tipo int y puede tener los valores siguientes:
1 = Nombre del objeto
2 = Nombre del esquema
3 = Nombre de la base de datos
4 = Nombre del servidor

Tipo de valor devuelto

sysname

Observaciones

PARSENAME devuelve NULL cuando se cumple una de las siguientes condiciones:

  • Tanto object_name como object_piece son NULL.

  • Se produce un error de sintaxis.

La parte del objeto solicitada tiene una longitud 0 y no es un identificador Microsoft SQL Server válido. Un nombre de objeto de longitud cero hace que el nombre completo no sea válido.

Ejemplos

En el siguiente ejemplo se utiliza PARSENAME para devolver información acerca de la tabla Person de la base de datos AdventureWorks2012.

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

El conjunto de resultados es el siguiente:

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 también