MySQL:将数组作为单独的行输出

MySQL:将数组作为单独的行输出,mysql,Mysql,这是我的阵列: set @fruit = 'apples,oranges,passion fruit,bananas,pineapples'; 如何将它们输出到单独的行中,即: apples oranges passion fruit bananas pineapples 谢谢。在我的回答中,创建函数和/或临时表的替代方法是: SELECT @i , substring(@string, @start, @end-@start) str FROM <BigTable&g

这是我的阵列:

set @fruit = 'apples,oranges,passion fruit,bananas,pineapples';
如何将它们输出到单独的行中,即:

apples
oranges
passion fruit
bananas
pineapples
谢谢。

在我的回答中,创建函数和/或临时表的替代方法是:

SELECT @i
     , substring(@string, @start, @end-@start) str
   FROM <BigTable>
     , ( SELECT @string := 'apples,oranges,passion fruit,bananas,pineapples'
              , @start := 0
              , @end := 0
              , @i := 0
              , @len := length(@string)
              , @n := @len-length(replace(@string,',',''))+1
       ) t
   WHERE (@i := @i+1) <= @n
     AND (@start := @end+1)
     AND (@end := if((@loc:=locate(',',@string,@start))=0,@len+1,@loc))
选择@i
,子字符串(@string,@start,@end-@start)str
从…起
,(选择@string:=“苹果、橙子、百香果、香蕉、菠萝”
,@start:=0
,@end:=0
,@i:=0
,@len:=长度(@string)
,@n:=@len长度(替换(@string,,,,,'')+1
)t

其中(@i:=@i+1)使用
SUBSTRING\u INDEX
查找每个单词,然后使用
print
输出它们检查此处尝试此链接:太好了,谢谢。我需要在
@len:=length(@string)
的末尾添加
+1
,以打印菠萝中的“s:-”,再次感谢