2012-08-01 37 views
1

我有一個表格,經緯度在一個字段中用一個逗號/空格分隔值連接在一起。這是不好的規劃,因爲現在我需要打破經緯度到不同的領域。用同一行的部分數據更新Mysql記錄

因此,我在表中添加了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)更新表設置LAT =位置,但它需要的字符第一組,從第一個數字之前逗號

2)更新TABLE設置LONG = LOCATION,但它在哪裏取得字符組,從逗號/空格「,」到文本字符串的末尾。

我「不能確定這是否是一個reg-EX的東西,或者我應該使用的SUBSTR或某些其他功能相結合,以在文本中使用。

任何幫助找到的這個大加讚賞方向。一如既往

感謝...

+0

不要你的意思'DECIMAL(9,6)' – 2012-08-01 05:09:38

回答

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)) 
+0

完美工作......非常感謝! – Kevin 2012-08-01 05:11:15