0

在 sql 查询中,我可以说

select * 
from location
where geoLocation.STDistance(0xE6100000010CDDB5847CD0EB42C033333333331F6240) < 10000

但是我如何以编程方式传递那个 0xE61... 位。

从数据库返回时,它似乎是二进制格式。因此,仅将其放入查询中是行不通的。如果我将它作为二进制类型放入它也不起作用。

有没有办法从以上述格式保留它的数据库中检索地理位置,我尝试将其转换为 varchar 但它最终像 POINT(....

4

1 回答 1

0

SQL 有一堆用于创建地理空间数据的静态方法。检查一下(特别是 OGC 静态和扩展静态链接)。例如:

DECLARE @g geography;
SET @g = geography::STPointFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.ToString();
于 2013-07-12T15:53:47.987 回答