$PARTITION (Transact-SQL)

指定したパーティション関数に対して、パーティション分割列の値のセットがマップされるパーティション番号を返します。

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

構文

[ database_name. ] $PARTITION.partition_function_name(expression)

引数

database_name

パーティション関数を含むデータベースの名前を指定します。

partition_function_name

パーティション分割列の値のセットが適用される、既存のパーティション関数の名前を指定します。

expression

を指定します。このデータ型は、対応するパーティション分割列のデータ型と一致するか、パーティション分割列のデータ型に暗黙的に変換される必要があります。expression には、現在 partition_function_name に参加しているパーティション分割列の名前を指定することもできます。

戻り値の型

int

解説

$PARTITION では、int 型の値が返されます。1 以上、かつパーティション関数のパーティション数以下の値が返されます。

$PARTITION では、指定したパーティション関数を使用するパーティション テーブルやパーティション インデックスに値が存在しているかどうかに関係なく、有効な値に対してパーティション番号が返されます。

A. パーティション分割列の値のセットに対してパーティション番号を取得する

次の例では、テーブルまたはインデックスを 4 つのパーティションに分割するパーティション関数 RangePF1 を作成します。$PARTITION は、RangePF1 のパーティション分割列を表す値 10 が、テーブルのパーティション 1 に配置されるかどうかを判定するために使用します。

USE AdventureWorks ;
GO
CREATE PARTITION FUNCTION RangePF1 ( int )
AS RANGE FOR VALUES (10, 100, 1000) ;
GO
SELECT $PARTITION.RangePF1 (10) ;
GO

B. パーティション テーブルまたはパーティション インデックスについて、空でない各パーティション内の行数を取得する

次の例では、データを含むテーブル TransactionHistory の各パーティション内の行数を返します。TransactionHistory テーブルではパーティション関数 TransactionRangePF1 が使用され、TransactionDate 列でパーティション分割されます。

ms188071.note(ja-jp,SQL.90).gifメモ :
この例を実行するには、AdventureWorks サンプル データベースに対して最初に PartitionAW.sql スクリプトを実行する必要があります。詳細については、「Readme_PartitioningScript」を参照してください。
USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition, 
COUNT(*) AS [COUNT] FROM Production.TransactionHistory 
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO

C. パーティション テーブルまたはパーティション インデックスの 1 つのパーティションからすべての行を返す

次の例では、テーブル TransactionHistory のパーティション 5 内にあるすべての行を返します。

ms188071.note(ja-jp,SQL.90).gifメモ :
この例を実行するには、AdventureWorks サンプル データベースに対して最初に PartitionAW.sql スクリプトを実行する必要があります。詳細については、「Readme_PartitioningScript」を参照してください。
SELECT * FROM Production.TransactionHistory
WHERE $PARTITION.TransactionRangePF1(TransactionDate) = 5 ;

参照

関連項目

CREATE PARTITION FUNCTION (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手