2012-06-11 36 views
1

我有一個字符串,如表的多個行,如何轉換一串字到使用MySQL命令行

「這是一個刺痛,我不知道多久,我是」

我希望把字符串中的每一個字成一排我的SQL表,使我得到:



一個




知道
等等

我需要能夠使用MySQL命令行來做到這一點。 (我還需要一個相鄰的列,每個行都填充一個,這樣可以幫助/更改您的答案)我想我可以以某種方式使用INSERT String (Words, num) Values (@words, 1)但我不知道如何讓它添加每一個單詞。有沒有簡單的方法來做到這一點?如果不是,它將如何完成?

+0

請回復和/或記住我的答案接受。謝謝。 – jkrcma

回答

1

MySQL沒有分割分隔字符串的功能。這個問題在MySQL manual page(search「split」)上有很多討論,雖然沒有直接的解決方案來處理可變數量的元素。

取而代之的是,我會幫助自己產生這樣的查詢:

SELECT CONCAT('INSERT INTO t1 VALUES ("', REPLACE(REPLACE(TRIM(string_column), '"', '\\"'), ' ', '", "'), '")') FROM t2_with_string