STDistance - 计算两个对象之间的距离

时间:2015-05-20 09:46:09

标签: sql-server geography sqlgeography geographic-distance

我尝试计算两个物体之间的距离。

declare @p1 geography
declare @p2 geography
SELECT @p1 = WKT from tbl_1 where loc = "school"
SELECT @p2 = WKT from tbl_2 where loc = "school"
select round(@p1.STDistance(@p2)/1000,0) Distance_KM

但是我为列loc

收到错误
  

列名无效

此列存在且数据类型为geography

使用以下代码填充WKT

UPDATE [dbo].[lbl_1]
SET [WKT] = geography::STPointFromText('POINT(' + CAST([Longitude] AS VARCHAR(20)) + ' ' + CAST([Latitude] AS VARCHAR(20)) + ')', 4326)
GO

出了什么问题?

1 个答案:

答案 0 :(得分:2)

您的字符串文字不正确。

对于SQL,您需要单引号,iow 'school'而不是"school"

SQL将其视为列而不是字符串文字。