MySQL 一列"aaa,bbb,ccc"如何转换成多列"aaa","bbb","ccc"?

2018-03-09 11:01:16 +08:00
 doggg

一行"aaa,bbb,ccc"怎么转换成多列

"aaa"

"bbb"

"ccc"

3077 次点击
所在节点    问与答
8 条回复
linyinma
2018-03-09 13:03:02 +08:00
REPLACE(table.column , ',', char(10));
将','替换成‘\n ’
gbin
2018-03-09 13:37:21 +08:00
substring_index(`table.column`,',',1) as c1, substring_index(substring_index(`table.column`,',',-2),',',1) as c2, substring_index(substring_index(`table.column`,',',-1),',',1) as c3;

参考: https://stackoverflow.com/questions/1096679/can-mysql-split-a-column
doggg
2018-03-09 13:54:48 +08:00
@gbin
@linyinma
不好意思可能我的意思有误,是指一列转换成多行。就是"aaa,bbb,ccc"变成 3 行
rieuse
2018-03-09 13:56:34 +08:00
split_part 你看看
3a3Mp112
2018-03-09 13:59:51 +08:00
java 读出来拆分重新写进去方便。
doggg
2018-03-09 15:17:14 +08:00
@rieuse 这是 Postgresql 的函数吧
@3a3Mp112 没有只写 SQL 可以完成的办法吗?
mario85
2018-03-09 17:09:10 +08:00
doggg
2018-03-11 23:00:13 +08:00
@mario85 看起来还是十分复杂,放弃用 SQL 了。还是走 Java 操作吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/436442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX