共用方式為


Filter (geography 資料類型)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

這個方法提供快速且僅限索引的交集方法,可判斷 geography 執行個體是否與另一個 geography 執行個體相交 (假設有提供索引)。

如果 geography 執行個體有可能與另一個 geography 執行個體相交,則會傳回 1。 這個方法可能會產生誤判傳回值,且確切的結果可能會依計畫而定。 如果找不到任何 geography 執行個體相交,則傳回正確的 0 值 (真否定傳回值)。

在沒有提供索引或未使用索引的情況下,以相同的參數呼叫時,此方法所傳回的值會與 STIntersects() 相同。

Syntax

  
.Filter ( other_geography )  

注意

若要檢視 SQL Server 2014 (12.x) 和更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

other_geography
這是要與叫用 Filter() 所在之執行個體相比較的另一個 geography 執行個體。

傳回型別

SQL Server 傳回類型:bit

CLR 傳回類型:SqlBoolean

備註

這個方法不具決定性或並非精確的。

範例

下列範例使用 Filter() 來判斷兩個 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;  

另請參閱

地理例項上擴充的方法
STIntersects (geography 資料類型)