SQL中使用經緯度查詢資料的寫法

2021-10-06 00:26:00 字數 562 閱讀 8842

使用場景是給定乙個經緯度,查詢以此經緯度為圓心,指定距離範圍內的所有符合條件的資料

話不多說,看**示例:

sqrt(

( ((

#- o.longitude

) * acos( - 1 ) * 12656 * cos((( #+ o.longitude ) / 2 ) * acos( - 1 ) / 180 ) / 180

) * ((

#- o.longitude

) * acos( - 1 ) * 12656 * cos((( #+ o.longitude ) / 2 ) * acos( - 1 ) / 180 ) / 180

) ) + (

(( #- o.latitude ) * acos( - 1 ) * 12656 / 180 ) * (( #- o.latitude ) * acos( - 1 ) * 12656 / 180 )

) ) as distance

其中#和#是你傳入的經緯度資料,可以將此段查詢放在查詢結果中,然後在where中限制distance的範圍即可

sql語句查詢經緯度範圍

指定乙個經緯度,給定乙個範圍值 單位 千公尺 查出在經緯度周圍這個範圍內的資料。經度 113.914619 緯度 22.50128 範圍 2km longitude為資料表經度字段 latitude為資料表緯度字段 sql在mysql下測試通過,其他資料庫可能需要修改 sql語句如下 select ...

sql語句查詢經緯度範圍

指定乙個經緯度,給定乙個範圍值 單位 千公尺 查出在經緯度周圍這個範圍內的資料。經度 113.914619 緯度 22.50128 範圍 2km longitude為資料表經度字段 latitude為資料表緯度字段 sql在mysql下測試通過,其他資料庫可能需要修改 sql語句如下 select ...

sql語句查詢經緯度範圍

指定乙個經緯度,給定乙個範圍值 單位 千公尺 查出在經緯度周圍這個範圍內的資料。經度 113.914619 緯度 22.50128 範圍 2km longitude為資料表經度字段 latitude為資料表緯度字段 sql在mysql下測試通過,其他資料庫可能需要修改 sql語句如下 select ...