MYSQL:在多个条件上拆分字符串

时间:2016-10-02 14:30:30

标签: mysql sql regex split

我有一个具有多个分隔功能的字符串。但是我需要在mysql中检索一个特定的集合。 例如:

/indoor-unit-for-split-acs-carrier-EL.AI.CA.468725/
/solar-inverters-su-kam-SO.SO.SO1.347598/

然后所需的输出是EL.AI.CA.468725,SO.SO.SO1.347598(只有这部分包含该特定字符串中的点)

2 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式:

([A-Z.0-9]+)

请参阅此处的示例:https://regex101.com/r/4KK0zj/2

答案 1 :(得分:0)

测试数据:

CREATE TABLE TestDataTable
    (`id` int, `breadcrump` varchar(99))
;

insert into TestDataTable set breadcrump='/indoor-unit-for-split-acs-carrier-EL.AI.CA.468725/';
insert into TestDataTable set breadcrump='/solar-inverters-su-kam-SO.SO.SO1.347598/';

示例查询:

select breadcrump
, replace( substring( breadcrump, (LENGTH(breadcrump) - LOCATE('-', REVERSE(breadcrump))+2)), '/','') as desiredOutPut
from TestDataTable;

Sql小提琴测试输出:

http://sqlfiddle.com/#!9/cd69ac/2