MySQL实现字符串的拆分逗号分隔(mysql拆分逗号)

MySQL实现字符串的拆分逗号分隔是有一些简单的技术可以活用,下面将通过实例来讲解一下MySQL实现字符串的拆分的实现方法。

首先我们先(准备好)一个数据表:

CREATE TABLE `member` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`skill` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

假设有一行数据如下:

id     name     skill
1 David Java,PHP,MySQL

我们希望把skill列拆分成单独的技能,改成如下形式:

id     name     skill
1 David Java
2 David PHP
3 David MySQL

我们可以用MySQL的 SUBSTRING_INDEX() 函数来实现这个功能:

SELECT id,name,SUBSTRING_INDEX(SUBSTRING_INDEX(skill,',',1),',',-1) AS skill 
FROM member
WHERE socre >60;
UNION

SELECT id,name,SUBSTRING_INDEX(SUBSTRING_INDEX(skill,',',2),',',-1) AS skill
FROM member
WHERE socre >60;

UNION

SELECT id,name,SUBSTRING_INDEX(SUBSTRING_INDEX(skill,',',3),',',-1) AS skill
FROM member
WHERE socre >60;

其中socre实际上是可以忽略的,这里只是用来示意,我们只对指定条件下的member拆分字符串。

我们运行上述语句,结果即可得到如下:

id     name     skill
1 David Java
1 David PHP
1 David MySQL

这样我们就可以实现MySQL实现字符串的拆分的功能了。

以上便是MySQL实现字符串拆分分隔的实例分析,通过以上技术,我们可以实现对字符串的拆分,使字符串更方便被查询。


数据运维技术 » MySQL实现字符串的拆分逗号分隔(mysql拆分逗号)