Returns the specified part of an object name. The parts of an object that can be retrieved are the object name, owner name, database name, and server name.
[!NOTE]
The PARSENAME function does not indicate whether an object by the specified name exists. PARSENAME just returns the specified part of the specified object name.
Transact-SQL Syntax Conventions
PARSENAME ( 'object_name' , object_piece )
‘object_name’
Is the name of the object for which to retrieve the specified object part. object_name is sysname. 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 owner name, and the object name.
object_piece
Is the object part to return. object_piece is of type int, and can have these values:
1 = Object name
2 = Schema name
3 = Database name
4 = Server name
nchar
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 is not a valid Microsoft Microsoft SQL Server identifier. A zero-length object name renders the complete qualified name as not valid.
The following example uses PARSENAME
to return information about the Person
table in the AdventureWorks2012
database.
-- 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
Here is the result set.
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)
QUOTENAME (Transact-SQL)
ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
System Functions (Transact-SQL)