SQL BETWEEN语句没有返回任何结果?

时间:2013-04-25 19:04:26

标签: php mysql sql

我试图从我的数据库中提取经度和纬度值(存储为十进制(10,6))在两个值的范围之间,但由于某种原因,其中一个值没有返回任何结果。< / p>

这是我的疑问:

SELECT * FROM `location` WHERE location_latitude BETWEEN 53.76200 AND 53.765000 AND location_longitude BETWEEN -2.710000 AND -2.720000

当我只查询纬度时,我得到的结果很好。这个问题似乎只与经度有关。我对这一切仍然相当新,但它可能与经度值之前的减号有关吗?

提前致谢!

2 个答案:

答案 0 :(得分:5)

更改BETWEEN上的参数顺序:

AND location_longitude BETWEEN -2.720000 AND -2.710000

由于-2.72小于-2.71

答案 1 :(得分:1)

location_longitude BETWEEN -2.710000 AND -2.720000返回true iff -2.71&lt; = longitude&lt; = -2.72。表达式总是返回false,因为-2.72&lt; -2.71。切换这两个值。

BETWEEN documentation for MySQL.