PARSENAME (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
オブジェクト名の指定した部分を返します。 取得できるオブジェクトの部分は、オブジェクト名、スキーマ名、データベース名、およびサーバー名です。
PARSENAME
は、指定された名前のオブジェクトが存在するかどうかを示しません。 PARSENAME
指定したオブジェクト名の指定した部分を返すだけです。
構文
PARSENAME ('object_name' , object_piece )
引数
'object_name'
指定したオブジェクト パーツを取得する対象のオブジェクトの名前を保持するパラメーター。 このパラメーターは、必要に応じて修飾されたオブジェクト名です。 オブジェクト名のすべての部分が修飾される場合、この名前には、サーバー名、データベース名、スキーマ名、オブジェクト名の 4 つの部分を指定可能です。
'object_name' 文字列の各部分は sysname で、 nvarchar(128) または 256 バイトと同じです。 文字列のいずれかの部分が 256 バイトを超える場合、PARSENAME
は有効な sysname ではないため、その部分のNULL
を返します。
object_piece
返すオブジェクトパーツ。 object_piece は int で、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
1 | オブジェクト名です。 |
2 | スキーマ名 |
3 | データベース名 |
4 | サーバー名 |
戻り値の型
sysname
解説
PARSENAME
は、次のいずれかの条件が true の場合、 NULL
を返します。
object_nameまたはobject_pieceが
NULL
。構文エラーが発生した。
要求されたオブジェクト 部分の長さは
0
で、有効な SQL Server 識別子ではありません。 長さ 0 のオブジェクト名は完全修飾名を無効とします。
例
次の例では使用 PARSENAME
情報を返す、 Person
テーブルに、 AdventureWorks2022
データベース。
-- 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
結果セットは次のとおりです。
Object Name
------------------------------
Person
Schema Name
------------------------------
Person
Database Name
------------------------------
AdventureWorks2022
Server Name
------------------------------
(null)