테이블에 위도와 경도 값이 텍스트로 저장되어 있습니다. 그 위도 긴 값이다 기록의 경우 :제대로 작동하지 않습니다
는+------+-------------------+--------------------+
| Name | Lat | Long |
+------+-------------------+--------------------+
| ABC | 32.74943951828427 | -97.33141142455626 |
+------+-------------------+--------------------+
내 SQL 쿼리처럼오고있다 :
SELECT * FROM Incident I WHERE
(I.Lat BETWEEN '32.740446302225' AND '32.758432734343')
AND
(I.Long BETWEEN '-97.342104340547' AND '-97.320718508566')
LIMIT 5
하지만이 반환되는 0 행의 결과입니다. "ABC"
레코드가 테이블에 존재하지만 왜 그것을 당기고 있는지 알 수 없습니다. 문자열을 부동 소수점 숫자로 비교할 수 있습니까?
더 큰 질문은 위도와 경도 값을이 방식으로 사용하는 이유입니다. 일반적으로 한 점에서 'ABC'또는 테이블의 다른 위치로 _distances_를 계산하려고합니다. –
그리고 SQL 쿼리를 통해이 작업을 수행 할 수 있습니까? – asprin
Google "Haversine MySQL" –