情況一:
數據庫:只有point類型的location字段
實體類:有經緯度字段(double)、originLoction字段(存放string類型的數據庫location字段:POINT(123.462202 41.804471) )
單位:km
查詢方圓100千米以內的數據..
SELECT
*,
AsText(location) as originLoction,
(st_distance(location, point(116.397915,39.908946))*111) AS distance
FROM
oc_district
HAVING
distance<100
ORDER BY
distance limit 100;
情況二:
數據庫:有經度緯度字段,但是沒有point字段
實體類:有經緯度字段(double)、originLoction字段(存放string類型的數據庫location字段:POINT(123.462202 41.804471) )
以米m為單位
查詢方圓5000m以內的數據
SELECT
*,
(st_distance (point (lng,lat),point (116.3424590000,40.0497810000))*111195/1000 ) as juli
FROM
oc_district
WHERE
juli <=5000
ORDER BY
juli ASC