2013-03-18 81 views
0

以下,前提條件。SQL函數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 - 操作數應含有1個柱(一個或多個)錯誤。哪裏不對?

我想很容易得到結果,其中平方根(這是兩點之間距離的正確函數)小於10公里。

x代表乘星

感謝

+0

@Fabian ...什麼是繁星? – MikeTWebb 2013-03-18 17:20:28

+0

逗號應該是小數點嗎? – GilM 2013-03-18 17:26:07

回答

1

你在別人10.0

我懷疑你打算使用期限.您小數,而逗號被解釋爲獨立的參數使用逗號的一些數字71,5和點。

1

你有你的SQRT函數中的逗號,導致您的操作有多個列。

+1

而且顯然你不能配置mysql來接受逗號作爲小數分隔符http://stackoverflow.com/questions/8669212/change-decimal-separator-in-mysql – jmilloy 2013-03-18 17:27:48

+0

這是簡單的答案。 ;-) 謝謝 – 2013-03-18 17:35:49