PARSENAME (Transact-SQL)

オブジェクト名の指定した部分を返します。取得できるオブジェクト名の部分は、オブジェクト名、所有者名、データベース名、およびサーバー名です。

ms188006.note(ja-jp,SQL.90).gifメモ :
PARSENAME 関数では、指定した名前のオブジェクトが存在するかどうかは示されず、指定したオブジェクト名の指定した部分が返されるだけです。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

PARSENAME ( 'object_name' , object_piece ) 

引数

'object_name'

取得対象となるオブジェクトの名前を指定します。object_name のデータ型は sysname です。このパラメータには、オブジェクトの部分的な修飾名を指定します (省略可能)。オブジェクトのすべての部分の修飾名を指定する場合は、サーバー名、データベース名、所有者名、およびオブジェクト名の 4 つの部分を指定できます。

object_piece

返すオブジェクトの部分を指定します。object_piece のデータ型は int で、次のいずれかの値を指定できます。

1 = オブジェクト名

2 = スキーマ名

3 = データベース名

4 = サーバー名

戻り値の型

nchar

解説

PARSENAME では、次のいずれかの条件が真の場合に NULL が返されます。

  • object_nameobject_piece のいずれかが NULL。
  • 構文エラーがある。

要求したオブジェクトの部分の長さが 0 で、有効な Microsoft SQL Server 2005 識別子ではない。オブジェクト名の長さが 0 の場合、修飾名全体が無効になります。詳細については、「オブジェクト名としての識別子の使用」を参照してください。

次の例では、PARSENAME を使用して、AdventureWorks データベース内の Contact テーブルに関する情報を返します。

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

以下に結果セットを示します。 

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)

参照

関連項目

ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
システム関数 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手