Share via


Filter (geography データ型)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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

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

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

構文

  
.Filter ( other_geography )  

Note

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

引数

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

戻り値の型

SQL Server 戻り値の型: bit

CLR の戻り値の型: SqlBoolean

注釈

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

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

CREATE TABLE sample (id int primary key, g geography);  
INSERT INTO sample VALUES  
   (0, geography::Point(45, -120, 4326)),  
   (1, geography::Point(45, -120.1, 4326)),  
   (2, geography::Point(45, -120.2, 4326)),  
   (3, geography::Point(45, -120.3, 4326)),  
   (4, geography::Point(45, -120.4, 4326));  
  
CREATE SPATIAL INDEX sample_idx on sample(g);  
SELECT id  
FROM sample   
WHERE g.Filter(geography::Parse(  
   'POLYGON((-120.1 44.9, -119.9 44.9, -119.9 45.1, -120.1 45.1, -120.1 44.9))')) = 1;  

参照

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