2011-11-17 62 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从旧列拆分出来的数据