sql语句计算经纬度与当前距离的语句

select id="selectjw" resultType="java.lang.Integer" >
        SELECT  
            
            ROUND( 6378.138 * 2 * ASIN( SQRT( POW(     SIN(  ( ${lat} * PI() / 180 - S.`lat` * PI() / 180 ) / 2 ), 2 ) +
            COS(${lat} * PI() / 180) * COS(S.`lat` * PI() / 180) *
            POW( SIN( ( ${lng} * PI() / 180 - S.`lng` * PI() / 180 ) / 2     ),     2 ) ) ) * 1000 )    AS distance
        

         FROM t_hk_sign S WHERE id=#{signid}

    

核心代码:

   ROUND( 6378.138 * 2 * ASIN( SQRT( POW(     SIN(  ( ${lat} * PI() / 180 - S.`lat` * PI() / 180 ) / 2 ), 2 ) +
            COS(${lat} * PI() / 180) * COS(S.`lat` * PI() / 180) *
            POW( SIN( ( ${lng} * PI() / 180 - S.`lng` * PI() / 180 ) / 2     ),     2 ) ) ) * 1000 )    AS distance

你可能感兴趣的:(MySQL)