在MySQL中解析下划线分隔的字段

时间:2013-04-05 15:57:52

标签: mysql sql parsing mysql-workbench string-parsing

我有下表:

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

我搜索了网站,无法找到有关如何解释将下划线字段解析为单独字段的具体内容。我想获取AssigneeAddress字段并将其解析为三个字段(AssigneeCity,AssigneeState,AssigneeCountry)

有人可以解释如何执行此操作或指向我的教程,以便我可以尝试解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

select 
    substring_index('Beaverton_OR_US', '_', - 1) as AssigneeCity,
    substring_index(substring_index('Beaverton_OR_US', '_', 2),
            '_',
            - 1) as AssigneeState,
    substring_index('Beaverton_OR_US', '_', 1) as AssigneeCountry;

更新:

update tablename 
set 
    AssigneeCity = substring_index('Beaverton_OR_US', '_', - 1),
    AssigneeState = substring_index(substring_index('Beaverton_OR_US', '_', 2),
            '_',
            - 1),
    AssigneeCountry = substring_index('Beaverton_OR_US', '_', 1);