2011-03-23 3 views
2

새로운 SqlServer 2008 관리 공간 유형을 사용하여 레코드에서 반경 검색을 수행하는 방법을 배우려고합니다. 지형 공간 계산을 수행하는 방법 (지리학). 나는이 웹 페이지에 샘플을 다음입니다 : 심지어 나는 quer-를 실행할 때 쿼리를 실행 (또는 그 이전에, 그러나SQLServer Spatial 쿼리가 오류를 반환합니다. ')'근처에 조건이 예상되는 컨텍스트에 지정된 부울 유형의 표현

-- 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)); 

: 내가 특별히이 샘플을하려고하고

http://msdn.microsoft.com/en-us/magazine/dd434647.aspx

- 두 컴파일 및 런타임 오류) 다음과 같은 오류 메시지가 나타납니다 :

An expression of non-boolean type specified in a context where a condition is expected, near ')' 

나는 정말 당황 스럽습니다. 나는 정확히 동일한 쿼리를 수행하지 않고있다. (필자는 지리학 적 컬럼으로 내 데이터를 사용하고있다.) 샘플과 거의 같다. SQL SErver 2008 SP2 Standard Edition 64 비트를 실행하고 있습니다. 쿼리를 입력 할 때 STIntersection 메서드에 intellisense를 사용하고 메서드가 있다는 것을 알 수 있도록 (other_geography geography) 예제를 보여줍니다. 제대로 괄호를 닫고 세미콜론으로 표현을 구분하지만 오류가 발생하는 이유를 알 수 없습니다. 인터넷 검색은 효과가 없습니다.

의견이 있으십니까?

세스

답변

5

STIntersects 반환 0 또는 1이 시도 : 그것을했다

WHERE c.geog.STIntersects(@Seattle.STBuffer(10 * 1609.344)) = 1 
+0

합니다. 도와 주셔서 감사합니다 –

관련 문제