次の方法で共有


Filter (geometry データ型)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

インデックスが使用可能である場合に、geometry インスタンスが別の geometry インスタンスと交差するかどうかを判断する、高速のインデックス専用積集合メソッドを提供するメソッドです。

geometry インスタンスが別の geometry インスタンスと交差する可能性がある場合、1 を返します。 このメソッドは偽陽性の戻り値を生成する場合があり、正確な結果はプランによって異なります。 geometry インスタンスの交差が見つからない場合は、正確な 0 値 (真陰性の戻り値) を返します。

インデックスが使用できない場合、または使用されていない場合、このメソッドは、同じパラメーターを使用して呼び出した場合の STIntersects() と同じ値を返します。

構文

  
.Filter ( other_geometry )  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

other_geometry
Filter() を呼び出したインスタンスと比較される、別の geometry インスタンスです。

戻り値の型

SQL Server 戻り値の型: bit

CLR の戻り値の型: SqlBoolean

注釈

このメソッドは決定的でなく、正確ではありません。

Filter() を使用して 2 つの geometry インスタンスが相互に交差しているかどうかを調べる例を次に示します。

CREATE TABLE sample (id int primary key, g geometry);  
GO  
INSERT INTO sample VALUES  
   (0, geometry::Point(0, 0, 0)),  
   (1, geometry::Point(0, 1, 0)),  
   (2, geometry::Point(0, 2, 0)),  
   (3, geometry::Point(0, 3, 0)),  
   (4, geometry::Point(0, 4, 0));  
  
CREATE SPATIAL INDEX sample_idx ON sample(g)  
WITH (bounding_box = (-8000, -8000, 8000, 8000));  
GO  
SELECT id  
FROM sample   
WHERE g.Filter(geometry::Parse('POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))')) = 1;  

参照

geometry インスタンスの拡張メソッド
STIntersects (geometry データ型)