一、问题
1.1、环境
电脑环境:Windows 10;
开发工具:Eclipse 4.6.3;
数据库环境:Oracle 11g;
JDK环境: Jdk1.8;
Maven环境:Maven3.5.0;
GIT版本:Version 2.48.02;
Docker版本:Server Version: 19.03.3
1.2、问题
如何将数据库中某各个列的值全部排成一排显示呢?打个比方,就好比一个教室,你让下图红色的那一排同学都出列,然后站到讲台前,每个人之间用逗号分隔;排成一排,跟黑板平行;

二、解答
2.1、MySQL数据库中;
create table user(
id int(10) PRIMARY key not null,
name varchar(100),
sex VARCHAR(10),
remark VARCHAR(100)
);
select * from user a;
insert into user values(1,'刘备','male','king');
insert into user values(2,'孙权','male','king');
insert into user values(3,'曹操','male','king');
select GROUP_CONCAT(a.name) from user a;
截图:

2.2、Oracle数据库中;
select wm_concat(a.name) from user a;
截图:

三、总结
其实,两个SQL除了函数,格式是一模一样,注意:
1、MySQL用的是GROUP_CONCAT;
2、Oracle用的是 WM_CONCAT,
3、Oracle查询后的结果是CLOB格式的;并且超过4000可能会报错;
欢迎关注我的
优快云博客: https://blog.youkuaiyun.com/River_Continent
微信公众号:幕桥社区

知乎:张牧野, https://www.zhihu.com/people/zhang-mu-ye-37-76/activities
简书: https://www.jianshu.com/u/02c0096cbfd3

2097

被折叠的 条评论
为什么被折叠?



