我想从MySQL中的字符串中提取子字符串。该字符串包含多个子字符串,以逗号(’,’)分隔。我需要使用任何MySQL函数提取这些子字符串。
例如:
Table Name: Product ----------------------------------- item_code name colors ----------------------------------- 102 ball red,yellow,green 104 balloon yellow,orange,red
我想选择颜色字段并将子字符串提取为红色,黄色和绿色,并以 逗号 分隔。
可能的重复:将值从一个字段拆分为两个
不幸的是,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;