次の方法で共有


PARSENAME (Transact-SQL)

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

注意

PARSENAME 関数では、指定した名前のオブジェクトが存在するかどうかは示されず、指定したオブジェクト名の指定した部分が返されるだけです。

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

適用対象: SQL Server (SQL Server 2012 から現在のバージョンまで)、Windows Azure 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_name と object_piece のいずれかが NULL。

  • 構文エラーがある。

要求したオブジェクトの部分の長さが 0 で、有効な Microsoft SQL Server 識別子ではない。 オブジェクト名の長さが 0 の場合、修飾名全体が無効になります。

使用例

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

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

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

Object Name

------------------------------

Person

(1 row(s) affected)

Schema Name

------------------------------

(null)

(1 row(s) affected)

Database Name

------------------------------

AdventureWorks2012

(1 row(s) affected)

Server Name

------------------------------

(null)

(1 row(s) affected)

関連項目

参照

ALTER TABLE (Transact-SQL)

CREATE TABLE (SQL Server)

システム関数 (Transact-SQL)