MySQL 半径搜索

MySQL radius search

我正在制作一个带有半径搜索的应用程序,这是我从

中学到的例子

https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql

以我为例

我愿意

SELECT (3959 * acos(cos(弧度(-37.814107)) * cos(弧度(lat)) * cos(弧度(lng) - 弧度(144.96327999999994)) + sin(弧度(- 37.814107)) * sin(弧度(lat)))) 作为距离;

当 lat = -37.8141070000,lng = 144.9632800000

SELECT (3959 * acos(cos(弧度(-37.814107)) * cos(弧度(-37.8141070000)) * cos(弧度(144.9632800000) - 弧度(144.96327999999994)) + sin(弧度( -37.814107)) * sin(弧度(-37.8141070000)))) 作为距离;

MySQL输出距离为NULL,为什么?我是不是做错了什么?

我该如何解决?不好意思我数学真的不行

基本SQL查询

SELECT * FROM table

您的查询中必须有一个 MySql table,以 lat 和 lng 作为字段。 即

SELECT (3959 * acos(cos(radians(-37.814107)) 
       * cos(radians(lat)) * cos(radians(lng) - radians(144.96327999999994))
        + sin(radians(-37.814107))
        * sin(radians(lat)))) AS distance FROM table;