千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  千锋问答  > 如何使用mysql实现逗号分隔字符串的拆分
如何使用mysql实现逗号分隔字符串的拆分
mysql 匿名提问者 2023-09-12 09:56:29

如何使用mysql实现逗号分隔字符串的拆分

推荐答案

  使用MySQL实现逗号分隔字符串的拆分可以使用FIND_IN_SET函数来实现:

千锋教育

  FIND_IN_SET函数可以在逗号分隔的字符串中查找指定的值,并返回其位置。结合SUBSTRING函数,可以实现字符串的拆分。

  示例代码如下:

  SELECT SUBSTRING('字符串1,字符串2,字符串3', 1, FIND_IN_SET(',', '字符串1,字符串2,字符串3') - 1) AS part1,

  SUBSTRING('字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3') + 1, FIND_IN_SET(',', '字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3') + 1) - FIND_IN_SET(',', '字符串1,字符串2,字符串3') - 1) AS part2,

  SUBSTRING('字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3') + 1) + 1) AS part3;

  解释:

  - SUBSTRING('字符串1,字符串2,字符串3', 1, FIND_IN_SET(',', '字符串1,字符串2,字符串3') - 1):返回第一个逗号之前的部分,即字符串1。

  - SUBSTRING('字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3') + 1, FIND_IN_SET(',', '字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3') + 1) - FIND_IN_SET(',', '字符串1,字符串2,字符串3') - 1):返回第一个逗号和第二个逗号之间的部分,即字符串2。

  - SUBSTRING('字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3', FIND_IN_SET(',', '字符串1,字符串2,字符串3') + 1) + 1):返回第一个逗号和第三个逗号之间的部分,即字符串3。