2013-02-12 47 views
-1

MySQL查詢我有一個包含latitudelongitude其次location name等 一個MySQL表,我的程序要加載僅在顯示屏上顯示的數據,所以它可能是這樣取得與特定範圍

e.g -6.880713 < latitude < -6.90176 AND 107.599411 < longitude < 107.635374 

我如何使用該條件加載數據?

編輯

該死曼!我知道從我執行WHERE (lat < -6.90176)時發現的幾項研究知道,它只顯示以-6.9xxxxx開頭的數據,當我搜索-6.8結果時發現0:D同樣的情況,當我執行時WHERE (lat > -6.880713)它只顯示以-6.8xxxxx開頭的數據和沒有-6.9:d WTF我不明白爲什麼會這樣~~~難怪數據不會顯示出來......

+3

http://whathaveyoutried.com? – user20232359723568423357842364 2013-02-12 18:33:14

+0

我曾嘗試之間使用之間,但它不工作在哪裏緯度-6.880713和-6.90176。與原始的條件,當我比較不同的列像WHERE lat> -6.880713 AND lng <107.635374它顯示數據。但當我比較WHERE(緯度> -6.880713)和(拉特<-6.90176)它不顯示任何東西... 我不明白.... – user1685127 2013-02-13 03:04:57

回答

2

這也應該工作:

WHERE latitude BETWEEN -6.880713 AND -6.90176 AND longitude BETWEEN 107.599411 AND 107.635374 

BETWEEN是包容,但是。

-1
WHERE latitude > -6.880713 AND latitude < -6.90176 AND longitude > 107.599411 AND longitude < 107.635374 
1

不能在MySQL中使用「數學式」的不平等。你將不得不做這樣的事情:

-6.880713 < latitude AND latitude < -6.90176 AND 
    107.599411 < longitude AND longitude < 107.635374 

-6.880713 < latitude < -6.90176被視爲(-6.880713 < latitude) < -6.90176,其中(-6.880713 < latitude)將是1或0