sql >> データベース >  >> RDS >> Mysql

MySQLデータベースから近くの場所を見つけるためのGoogleマップジオコーダー

    半径検索:

    select *,
        acos(cos(centerLat * (PI()/180)) *
         cos(centerLon * (PI()/180)) *
         cos(lat * (PI()/180)) *
         cos(lon * (PI()/180))
         +
         cos(centerLat * (PI()/180)) *
         sin(centerLon * (PI()/180)) *
         cos(lat * (PI()/180)) *
         sin(lon * (PI()/180))
         +
         sin(centerLat * (PI()/180)) *
         sin(lat * (PI()/180))
        ) * 3959 as Dist
    from TABLE_NAME
    having Dist < radius
    order by Dist
    

    3959は、マイル単位の地球半径です。同じ単位で結果を得るには、この値をKMまたは任意の単位の半径に置き換えます。 centerLat およびcenterLon は検索の中心(yourinput)であり、latとlonはテーブルのフィールドです。



    1. mysqldump不明なオプションはビープ音を鳴らしません

    2. SQLServerで英数字以外の文字を含む行を返す

    3. PayPalODBCドライバー

    4. 変数を使用せずにplpgsql関数に整数を返すようにできますか?