0

データベースから 2 つの値の範囲 ( decimal(10,6) として保存) から経度と緯度の値を取得しようとしていますが、何らかの理由で値の 1 つが結果を返していません。

これが私のクエリです:

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

緯度だけを照会すると、結果が正常に返されます。問題は経度だけにあるようです。私はまだこれらすべてにかなり慣れていませんが、経度値の前のマイナス記号と関係があるのでしょうか?

前もって感謝します!

4

2 に答える 2

5

のパラメータの順序を変更しますBETWEEN

AND location_longitude BETWEEN -2.720000 AND -2.710000

-2.72より小さいので-2.71

于 2013-04-25T19:06:26.467 に答える
1

location_longitude BETWEEN -2.710000 AND -2.720000-2.71 <= 経度 <= -2.72 の場合は true を返します。-2.72 < -2.71 であるため、式は常に false を返します。2 つの値を切り替えます。

MySQL の BETWEEN ドキュメント。

于 2013-04-25T19:06:51.137 に答える