【转】mysql用sql实现split函数

关键词:mysql split

更加详细的原理参考:https://www.cnblogs.com/gered/p/10797012.html

mysql根据逗号将一行数据拆分成多行数据
1、原始数据演示

 


2、处理结果演示

 


3、sql语句

SELECT a.id
    , a.NAME
    , substring_index(substring_index(a.shareholder, ',', b.help_topic_id + 1), ',', - 1) AS shareholder

FROM company a

INNER JOIN mysql.help_topic b
    ON b.help_topic_id < (length(a.shareholder) - length(REPLACE(a.shareholder, ',', '')) + 1)


4、附录
基本表建立语句

CREATE TABLE `company` (
`id` int(20) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`shareholder` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `company` VALUES ('1', '阿里巴巴', '马云');
INSERT INTO `company` VALUES ('2', '淘宝', '马云,孙正义');


原文:https://blog.csdn.net/WY18334783911/article/details/83379450

posted @ 2019-07-30 15:12  郭大侠1  阅读(7467)  评论(0编辑  收藏  举报