PARSENAME (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Returns the specified part of an object name. The parts of an object that can be retrieved are the object name, schema name, database name, and server name.
PARSENAME
doesn't indicate whether an object by the specified name exists. PARSENAME
just returns the specified part of the specified object name.
Transact-SQL syntax conventions
Syntax
PARSENAME ('object_name' , object_piece )
Arguments
'object_name'
The parameter that holds the name of the object for which to retrieve the specified object part. This parameter is an optionally qualified object name. If all parts of the object name are qualified, this name can have four parts: the server name, the database name, the schema name, and the object name.
Each part of the 'object_name' string is sysname, which is equivalent to nvarchar(128) or 256 bytes. If any part of the string exceeds 256 bytes, PARSENAME
returns NULL
for that part, as it's not a valid sysname.
object_piece
The object part to return. object_piece is int, and can be one of these values:
Value | Description |
---|---|
1 | Object name |
2 | Schema name |
3 | Database name |
4 | Server name |
Return types
sysname
Remarks
PARSENAME
returns NULL
if one of the following conditions is true:
Either object_name or object_piece is
NULL
.A syntax error occurs.
The requested object part has a length of
0
and isn't a valid SQL Server identifier. A zero-length object name renders the complete qualified name as not valid.
Examples
The following example uses PARSENAME
to return information about the Person
table in the AdventureWorks2022
database.
-- 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
Here's the result set.
Object Name
------------------------------
Person
Schema Name
------------------------------
Person
Database Name
------------------------------
AdventureWorks2022
Server Name
------------------------------
(null)