Filter(geography 数据类型)
适用于:SQL Server
Azure SQL 数据库 Azure SQL 托管实例
一种方法,可提供一种快速、仅索引相交的方法,用于确定一个 geography 实例是否与另一个 geography 实例相交(假定有可用索引)。
如果 geography 实例与另一个 geography 实例存在相交的可能,则返回 1。 该方法可能产生负正返回,并且确切结果可能是依赖于计划的。 如果 geography 实例之间不存在相交,则返回精确的 0 值(真负返回)。
在无可用索引或未使用索引的情况下,该方法返回的值将与使用相同参数调用 STIntersects() 返回的值相同。
语法
.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;
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈