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

标签 mysql

这是我的数组:

set @fruit = 'apples,oranges,passion fruit,bananas,pineapples';

如何将它们输出到单独的行中,即:

apples
oranges
passion fruit
bananas
pineapples

谢谢。

最佳答案

就像我对 this question 的回答一样,创建函数和/或临时表的替代方法:

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))

关于MySQL:将数组输出为单独的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44771156/

相关文章:

php - 使用 jQuery 获取日期并使用 PHP 表单将其保存到 MySQL

mysql - 没有子查询的更新会引发错误 : Subquery returns more than 1 row

c# - 使用 C# 管理大型数据库

php - 显示来自 Mysql PHP 的产品

mysql - 使用 WHERE 优化 JOIN

mysql - 性能不佳的查询需要帮助

mysql - 如何查询具有相同表模式的多个SQL表?

Mysql 错误 1005 (HY000) : Can't create table 'tmp' (errno: 13)

mysql - 在 MySQL 中删除数据库返回 "Error dropping database errno: 66"

WAMP 中的 phpmyadmin 错误 #1045 - 需要重置密码