2
我正在搜索stackoverflow并得到了我的问题的答案,但是当我试图用我的代码实现它时,我得到了奇怪的错误。用于大圆计算的SQL错误
这里是代码:
SELECT `zip_code`, (6371 * acos(cos(radians($latitude)) * cos(radians(`lat`)) * cos(radians(`long`) - radians($longitude)) + sin(radians($latitude)) * sin(radians(`lat`)))) AS `distance`
FROM `places`
HAVING `distance` < $within
ORDER BY `distance` ASC
LIMIT 10;
我得到以下错误:
Incorrect parameter count in the call to native function 'radians'
我使用MySQL的版本44年1月5日
是否有可能在字段中有NULLS。我认为传递给该函数的空值可能会返回此错误 – Sparky 2011-12-25 18:46:21
这是从shell脚本启动的吗?给定的值是“纬度”还是“经度”? – 2011-12-25 19:09:36
是的,它们是给定值,并且没有NULL值 – Grigor 2011-12-25 19:17:39