1

我有一个表格,纬度和经度在一个字段中连接在一起,用逗号/空格分隔值。这是一个糟糕的计划,因为现在我需要将纬度和经度分成单独的字段。

因此,我向表中添加了 2 个新字段,并且需要根据表中的现有数据填充它们。新字段设置为十进制(6,9),即使通过更新查询传递了大量数字,它也会显示数据轮次。

它看起来像这样:

ID   LOCATION                         LAT        LONG
1     43.12345,-118.12345           0.000000    0.000000
2     43.11223999, -118.43232997    0.000000    0.000000

我想写 2 个查询: 1) 更新 TABLE set LAT= LOCATION,但是它需要第一组字符,从第一个数字到逗号之前

2) 更新 TABLE 集 LONG= LOCATION,但它采用字符组,从逗号/空格“,”到文本字符串的末尾。

我不确定这是否是 reg-ex 的事情,或者我是否应该在文本上使用 substr 或其他一些函数的组合。

任何帮助找到这个方向的帮助一如既往。

谢谢...

4

1 回答 1

1

您可以简单地完成此操作:

UPDATE YOUR_TBL
SET    LAT    = CAST(TRIM(SUBSTRING_INDEX(LOCATION, ',',  1)) AS DECIMAL(9,6)),
       `LONG` = CAST(TRIM(SUBSTRING_INDEX(LOCATION, ',', -1)) AS DECIMAL(9,6))
于 2012-08-01T04:57:44.670 回答