我想从mysql中的字符串中提取子字符串.该字符串包含由逗号(‘,’)分隔的多个子字符串.我需要使用任何MysqL函数提取这些子串.
例如 :
Table Name: Product
-----------------------------------
item_code name colors
-----------------------------------
102 ball red,yellow,green
104 balloon yellow,orange,red
我想选择colors字段并将子字符串提取为红色,黄色和绿色,用逗号分隔.
最佳答案
可能的重复:Split value from one field to two
不幸的是,MysqL没有分裂字符串功能.
如上面的链接表明有User-defined Split function.
获取数据的更详细版本可以是:
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;