一尘不染

使用分隔符提取MySQL子串

mysql

我想从MySQL中的字符串中提取子字符串。该字符串包含多个子字符串,以逗号(’,’)分隔。我需要使用任何MySQL函数提取这些子字符串。

例如:

Table Name: Product
-----------------------------------
item_code  name    colors
-----------------------------------
102        ball     red,yellow,green
104        balloon  yellow,orange,red

我想选择颜色字段并将子字符串提取为红色,黄色和绿色,并以 逗号 分隔。


阅读 367

收藏
2020-05-17

共1个答案

一尘不染

可能的重复:将值从一个字段拆分为两个

不幸的是,MySQL没有拆分字符串功能。如上面的链接所示,有用户定义的分割功能

下面是获取数据的更详细的版本:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) as colorfirst,
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) as colorsecond
....
       SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n), ',', -1) as colornth
  FROM product;
2020-05-17