如何通过拆分一个字段并重复其他字段将记录解析为两个

时间:2013-04-10 13:59:10

标签: mysql sql parsing

我有下表:

我有下表:

Patent      AssigneeName                        AssigneeUnparsed
-------     --------------                      ---------------
D452605     Louis Vuitton Malletier, S.A.       Paris_None_FR
D452606     Nike, Inc.                          Beaverton_OR_US
D452607     Salomon S.A.; First Technology      Metz-Tessy_None_FR

在某些情况下,受让人姓名字段中有两个受让人姓名,并且他们之间用a分隔;

有没有办法让MySQL通过并在它发生时将它们分开,然后重复新记录中其他字段的所有数据?

1 个答案:

答案 0 :(得分:0)

如果您最多可以拥有两个受让人名称,我会使用INSERT查询,然后使用像这样使用SUBSTRING_INDEX的UPDATE查询:

INSERT INTO yourtable
SELECT Patent, TRIM(SUBSTRING_INDEX(AssigneeName, ';', -1)), AssigneeUnparsed
FROM yourtable
WHERE AssigneeName LIKE '%;%';

UPDATE yourtable
SET AssigneeName = TRIM(SUBSTRING_INDEX(AssigneeName, ';', -1))
WHERE AssigneeName LIKE '%;%';

请参阅小提琴here