在MySQL中将带坐标的字符串分解为lat / lon

时间:2018-02-15 17:24:14

标签: mysql split coordinates

在我的数据库中,我有一个坐标的字符串: N52.27337 E4.98162

现在我将把它分成两个字段,其中 lat lon

我发现我可以使用SUBSTRING_INDEX来拆分它。但是如何在一个查询的两个字段中更新这个?

1 个答案:

答案 0 :(得分:0)

假设坐标的字符串:N52.27337 E4.98162存储在myColumn列中

$ python manage.py makemigrations
$ python manage.py migrate

然后您可以使用例如:列名称lat和lng作为字符串更新您的表格,使用N52.27337和E4.98162

substr(mycolumn, 1, locate(' ',mycolumn) -1) /* lat N52.27337 */
substr(mycolumn,locate(' ',mycolumn)+1, 100) /* E4.98162 ... 
                      100 is for get all the char after starting position */

你可以在没有N和E的情况下使用和存储十进制列(使用自动转换)

Update my_table 
set lat =  substr(mycolumn, 1, locate(' ',mycolumn) -1),
  lng = substr(mycolumn,locate(' ',mycolumn)+1, 100)