2013-03-18 3 views
0

нижеследующий, pre состояние.SQL Function sqrt

Таблица называется точка, столбцы ID start_long start_lat des_lat des_long

Select 
    * 
from 
    point 
WHERE 
    SQRT((71,5x(`start_long`-`des_long`))x(71,5x(`start_long`-`des_long`))+(111,3x(`start_lat`-`des_lat`))x(111,3x(`start_lat`-`des_lat`)))<=10.0 

Я получаю # 1241 - Операнд должен содержать один столбец (ы) сообщение об ошибке. Что не так?

Я хочу легко получить результаты, когда квадратный корень (это правильная функция для расстояния между двумя точками) составляет менее 10 км.

х означает звезда умножения

Благодарность

+0

@Fabian ... какие звезды умножения? – MikeTWebb

+0

Должны ли запятые быть десятичными точками? – GilM

ответ

1

Вы используете запятые для некоторых чисел 71,5 и точек в других 10.0

Я подозреваю, что вы намерены использовать периоды . для знаков после запятой, и запятые интерпретируются как отдельные аргументы.

1

Вы запятые внутри вашей SQRT функции, в результате чего вашего операнда иметь несколько столбцов.

+1

И, по-видимому, вы не можете настроить mysql для принятия запятых как разделителя десятичных чисел. Http://stackoverflow.com/questions/8669212/change-decimal-separator-in-mysql – jmilloy

+0

Это был простой ответ. ;-) Благодаря –