sql 通过经纬度计算距离

ROUND(
                1000 * 6378.138 * 2 * ASIN(
                    SQRT(
                        POW(
                            SIN(
                                (
                                    #{locationY,jdbcType=DOUBLE} * PI() / 180 - local_y * PI() / 180
                                ) / 2
                            ),
                            2
                        ) + COS(#{locationY,jdbcType=DOUBLE} * PI() / 180) * COS(local_y * PI() / 180) * POW(
                            SIN(
                                (
                                    #{locationX,jdbcType=DOUBLE} * PI() / 180 - local_x * PI() / 180
                                ) / 2
                            ),
                            2
                        )
                    )
                )
            ) AS distance

local_x :经度

local_y : 纬度

你可能感兴趣的:(sql)