2013-02-12 86 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