地理距離を計算する次のクエリがあります。
SELECT (
(ACOS(SIN(39 * PI() / 180) *
SIN(`latitude` * PI() / 180) +
COS(39 * PI() / 180) *
COS(`latitude` * PI() / 180) *
COS((32–`poi.longitude`) * PI()/180)
) * 180 / PI()
) * 60 * 1.1515
) AS distance
FROM `poi`
HAVING distance <= 10
ORDER BY distance ASC
クエリを実行すると、次のエラーが表示されます。
構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。near '–
poi.longitude
) * PI()/180...を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
したがって、(32–<code>poi.longitude) を (3) のような数値に置き換えると機能しますが、(32–21) を数学演算として使用してもエラーがスローされます。poi.longitude
(引用符で )、経度などに置き換えlongitude
ますが、何も機能しないようです。何か案は?