MySQL通過POIN數據類型查詢指定范圍內數據


 

情況一:

  數據庫:只有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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM