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(
(
獲取的經(jīng)度 * PI() / 180 - lng * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS juli
FROM
list
ORDER BY
juli ASC
代碼如上,因?yàn)閙ap里的經(jīng)緯度是xx.xxxxx,xx.xxxxx這種形式顯示的,我使用substring_index一個(gè)作為lng一個(gè)作為lat,但在計(jì)算過程中如果不加'就會(huì)顯示Unknown column 'lat' in 'field list'如果加了'雖然可以顯示,但顯示的juli全是相同的數(shù)據(jù),請問該如何解決呢?
想要實(shí)現(xiàn)的效果是juli的值不是相同的,而是經(jīng)過當(dāng)前位置經(jīng)緯度與商家的經(jīng)緯度計(jì)算后的結(jié)果。目前我用上面的代碼,只能實(shí)現(xiàn)juli顯示出來的值都是相同的...想要實(shí)現(xiàn)的效果如下...
lng
lat
juli
分割出來的經(jīng)度1
緯度1
1210
分割出來的經(jīng)度2
緯度2
1215
mysql用substring_index并用as lng和as lat后計(jì)算出來的結(jié)果是一樣的?
喵喵時(shí)光機(jī)
2019-03-14 11:16:25