2017-02-14 21 views
0

我想問問如何從列中分割字符串(表中的所有行)「」並將結果分隔開,插入同一表中的另一列MySQL如何從列中拆分字符串「」,並將結果分隔,插入另一列?

非常感謝您的任何建議。

表結構例如:

------------------------------------------ 
| Original string | Spliced string  | 
------------------------------------------ 
| Some string 001 | Some,String,001  | 
------------------------------------------ 
+2

編輯您的問題,並提供樣本數據和期望的結果。 –

回答

0

如果我需要「分裂」帶分隔符的一個字符串,我會利用漂亮的SUBSTRING_INDEX功能。但是要注意一些怪癖。

我會採取的做法肯定是先寫一個SELECT語句。這將包括SELECT列表中返回我想分配給另一列的「分離」值的表達式。在編寫UPDATE語句之前,我會使用SELECT語句對這些表達式進行測試。

SELECT t.id 
    , t.column_i_want_to_split 
    , expr1 
    FROM mytable t 
ORDER BY t.id 

測試特定的情況下,我會使用內嵌視圖

SELECT t.id 
    , t.note 
    , t.val 
    , expr1 
    FROM (SELECT 1 AS id, 'empty string test' AS note, '' AS val 
     UNION ALL SELECT 2, 'null', NULL 
     UNION ALL SELECT 3, 'one space', ' ' 
     UNION ALL SELECT 4, 'four spaces', ' ' 
     UNION ALL SELECT 5, 'test5', ' abc def ' 
     UNION ALL SELECT 6, 'test6', 'g hi kl m' 
     ) t 
    ORDER BY t.id 

的一次,我回來時,我想轉讓給另一列中的值表達式(S),我將SELECT轉換爲UPDATE語句。要處理所有行,請省略WHERE子句。

UPDATE mytable t 
    SET t.another_column = expr1 

沒有一個更明確的規範,或者至少是一些你正試圖實現的具體例子,我們只是猜測。只是對問題的一般描述,我們所能提供的只是一些一般性建議。

相關問題