STDistance - вычисляет расстояние между двумя объектами.
Я пытаюсь рассчитать расстояние между двумя объектами.
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 ответ
Решение
Ваш строковый литерал неверен.
Для SQL вы хотите одинарные кавычки, ау 'school'
и не "school"
,
SQL обрабатывает его как столбец, а не как строковый литерал.