PARSENAME (Transact-SQL)

Returns the specified part of an object name. 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.

Topic link iconTransact-SQL Syntax Conventions

Syntax

PARSENAME ( 'object_name' , object_piece ) 

Arguments

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

Return Types

nchar

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 is not a valid Microsoft SQL Server 2005 identifier. A zero-length object name renders the complete qualified name as not valid. For more information, see Using Identifiers As Object Names.

Examples

The following example uses PARSENAME to return information about the Contact table in the AdventureWorks database.

USE AdventureWorks;
SELECT PARSENAME('AdventureWorks..Contact', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks..Contact', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks..Contact', 3) AS 'Database Name;'
SELECT PARSENAME('AdventureWorks..Contact', 4) AS 'Server Name';
GO

Here is the result set.

Object Name                    
------------------------------ 
Contact                        

(1 row(s) affected)

Schema Name                     
------------------------------ 
(null)                         

(1 row(s) affected)

Database Name                  
------------------------------ 
AdventureWorks                           

(1 row(s) affected)

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

(1 row(s) affected)

See Also

Reference

ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
System Functions (Transact-SQL)

Help and Information

Getting SQL Server 2005 Assistance