我尝试计算两个物体之间的距离。
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
出了什么问题?
答案 0 :(得分:2)
您的字符串文字不正确。
对于SQL,您需要单引号,iow 'school'
而不是"school"
。
SQL将其视为列而不是字符串文字。