作者:书友33947127 | 来源:互联网 | 2023-09-14 18:13
123456789101112131415161718192021222324252627SELECT substring_index(maps, ",", 1) AS lng,substrin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| SELECT
substring_index(maps, ",", 1) AS lng,substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
获取的纬度 * PI() / 180 - lat * PI() / 180
) / 2
),
2
) + COS(获取的纬度 * PI() / 180) * COS(lat * PI() / 180) * POW(
SIN(
(
获取的经度 * PI() / 180 - lng * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS juli
FROM
list
ORDER BY
juli ASC |
代码如上,因为map里的经纬度是xx.xxxxx,xx.xxxxx这种形式显示的,我使用substring_index一个作为lng一个作为lat,但在计算过程中如果不加
就会显示
1
| Unknown column 'lat' in 'field list' |
如果加了
虽然可以显示,但显示的
全是相同的数据,请问该如何解决呢?
想要实现的效果是
的值不是相同的,而是经过当前位置经纬度与商家的经纬度计算后的结果。目前我用上面的代码,只能实现juli显示出来的值都是相同的...想要实现的效果如下...
lng |
lat |
juli |
---|
分割出来的经度1 |
纬度1 |
1210 |
分割出来的经度2 |
纬度2 |
1215 |