Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de datos de Azure SQL de Microsoft Fabric
Método que proporciona una forma rápida de intersección solo para índices con la que se puede determinar si una instancia de geometry forma intersección con otra instancia de geometry, siempre y cuando haya un índice disponible.
Devuelve 1 si una instancia de geometry puede formar intersección con otra instancia de geometry. Este método puede generar un resultado falso positivo, y el resultado exacto puede depender del plan. Devuelve el valor 0 preciso (respuesta verdadera negativa) si no se encuentra ninguna intersección de las instancias de geometry.
En los casos en los que no haya ningún índice disponible o que no se use, el método devolverá los mismos valores que STIntersects() cuando se llama con los mismos parámetros.
Sintaxis
.Filter ( other_geometry )
Argumentos
other_geometry
Es otra instancia de geometry con la que se compara la instancia en la que se invoca Filter().
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: bit
Tipo de valor devuelto de CLR: SqlBoolean
Comentarios
Este método no es determinista y no es preciso.
Ejemplos
En el ejemplo siguiente se usa Filter()
para determinar si dos instancias de geometry
forman intersección.
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;
Consulte también
Métodos extendidos en instancias de geometry
STIntersects (tipo de datos geometry)