PARSENAME (Transact-SQL)
オブジェクト名の指定した部分を返します。取得できるオブジェクト名の部分は、オブジェクト名、所有者名、データベース名、およびサーバー名です。
注 |
---|
PARSENAME 関数では、指定した名前のオブジェクトが存在するかどうかは示されず、指定したオブジェクト名の指定した部分が返されるだけです。 |
構文
PARSENAME ('object_name',object_piece )
引数
'object_name'
取得対象となるオブジェクトの名前を指定します。object_name のデータ型は sysname です。このパラメーターには、オブジェクトの部分的な修飾名を指定します (省略可能)。オブジェクトのすべての部分の修飾名を指定する場合は、サーバー名、データベース名、所有者名、およびオブジェクト名の 4 つの部分を指定できます。object_piece
返すオブジェクトの部分を指定します。object_piece のデータ型は int で、次のいずれかの値を指定できます。1 = オブジェクト名
2 = スキーマ名
3 = データベース名
4 = サーバー名
戻り値の型
nchar
説明
PARSENAME では、次のいずれかの条件が真の場合に NULL が返されます。
object_name と object_piece のいずれかが NULL。
構文エラーがある。
要求したオブジェクトの部分の長さが 0 で、有効な Microsoft SQL Server 識別子ではない。オブジェクト名の長さが 0 の場合、修飾名全体が無効になります。詳細については、「オブジェクト名としての識別子の使用」を参照してください。
例
次の例では、PARSENAME を使用して、AdventureWorks2008R2 データベース内の Person テーブルに関する情報を返します。
USE AdventureWorks2008R2;
SELECT PARSENAME('AdventureWorks2008R2..Person', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks2008R2..Person', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks2008R2..Person', 3) AS 'Database Name';
SELECT PARSENAME('AdventureWorks2008R2..Person', 4) AS 'Server Name';
GO
以下に結果セットを示します。
Object Name
------------------------------
Person
(1 row(s) affected)
Schema Name
------------------------------
(null)
(1 row(s) affected)
Database Name
------------------------------
AdventureWorks2008R2
(1 row(s) affected)
Server Name
------------------------------
(null)
(1 row(s) affected)