Я пытаюсь узнать, как выполнять поиск по радиусу в записях, используя новый управляемый пространственный тип и методы (географию) SqlServer 2008 для выполнения геопространственных вычислений.Я следую за примерами на этой веб-странице:
http://msdn.microsoft.com/en-us/magazine/dd434647.aspx
Я специально пытаюсь сделать этот образец:
-- or declare POINT for "downtown Seattle"
-- 1609.344 meters per mile
DECLARE @Seattle geography = 'POLYGON(....)'; SELECT c.customerid FROM
customer c WHERE c.geog.STIntersects(@Seattle.STBuffer(10 * 1609.344));
Однако, даже до тогопри выполнении запроса (или когда я запускаю запрос - ошибка как компиляции, так и ошибки времени выполнения), я получаю следующее сообщение об ошибке:
An expression of non-boolean type specified in a context where a condition is expected, near ')'
Я действительно сбит с толку этим.Я не делаю точно такой же запрос (я использую свои собственные данные со столбцом географии), но он почти идентичен образцу.Я использую 64-разрядную версию Sql SErver 2008 SP2 Standard Edition.Когда я набираю запрос, он использует intellisense для метода STIntersection и показывает образец (other_geography geography), чтобы он знал, что метод существует.Я правильно закрываю скобки и разделяю выражение точкой с запятой, но не могу понять, почему я получаю ошибку.Поиск в Google не сработал.
Есть мысли?
Сет