Бөлісу құралы:


Filter (тип данных geography)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Предоставляет быстрый метод пересечения, который используется только для индексов и определяет, пересекается ли экземпляр geography с другим экземпляром geography при условии, что индекс доступен.

Возвращает значение 1, если экземпляр geography потенциально пересекается с другим экземпляром geography. В результате этого метода может появиться ложный положительный результат, а точный результат может зависеть от плана. Возвращает точное значение 0 (истинный отрицательный результат), если пересечение экземпляров geography не обнаружено.

Если индекс недоступен или не используется, этот метод возвращает те же значения, что и метод STIntersects(), при вызове с одинаковыми параметрами.

Синтаксис

  
.Filter ( other_geography )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

other_geography
Другой экземпляр geography для сравнения с экземпляром, для которого вызван метод Filter().

Типы возвращаемых данных

Тип возвращаемого значения 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;  

См. также

Расширенные методы в экземплярах Geography
STIntersects (тип данных geography)