2011-11-17 60 views
0

我有一個DB,其中一列是以「僱主名稱/工作職位」形式表示的人的工作信息,例如「哈佛大學/教授」我想把它分成兩欄,一欄是僱主欄和一欄欄目。將mysql列拆分成兩列,並帶有分隔符

是否有快速的方法在MySQL中執行此操作,或者是否需要編寫腳本來執行此操作?

回答

0

下面的第一句回答你的問題,但也提供了一些你可以嘗試的基本方向。我個人會用PHP(或者你正在使用的任何服務器端)來完成它。

以下是從http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

MySQL的複製不包括功能分割一個分隔的字符串。 雖然分開的數據通常會在關係數據中分割成單獨的字段 ,但是在 初始數據加載/驗證期間或在文本 字段中保存此類數據的過程中,分割可能很有用。

可以使用以下公式提取 定界列表中的第N項,在本例中爲示例逗號 分隔列表中的第3項「ccccc」。

選擇替換(子串(SUBSTRING_INDEX( 'AAA,BBBB,CCCCC', ' '3), 長度(SUBSTRING_INDEX(' AAA,BBBB,CCCCC', '',3 - 1))+ 1 ),「」,‘’) ITEM3

上述公式不需要第一個項目到作爲 特例進行處理和正確地返回空字符串當項目計數 小於所要求的位置。

0

使用ALTER TABLE語句添加此兩個欄 - >填充此列數據到新創建的列 - >刪除列老「僱主/職位的名稱」。

提示:您可以使用substring_index finction的MySQL從舊列拆分出來的數據