// 当前坐标经度
String longitude
// 当前位置坐标纬度
String latitude;
// 距离
Double distance
//数据库表名temp,属性lat为纬度,lng为经度
SELECT
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
latitude* PI() / 180 - t.lat * PI() / 180
) / 2
),
2
) + COS(latitude* PI() / 180) * COS(
t.lat * PI() / 180
) * POW(
SIN(
(
longitude* PI() / 180 - t.lng * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
temp
WHERE
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
latitude* PI() / 180 - t.lat * PI() / 180
) / 2
),
2
) + COS(latitude* PI() / 180) * COS(
t.lat * PI() / 180
) * POW(
SIN(
(
longitude* PI() / 180 - t.lng * PI() / 180
) / 2
),
2
)
)
) * 1000
) < distance