【SQL】Oracle和MySQL数据库列值横排
程序员文章站
2024-03-20 08:54:40
...
一、问题
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可能会报错;
欢迎关注我的
CSDN博客: https://blog.csdn.net/River_Continent
微信公众号:幕桥社区
知乎:张牧野, https://www.zhihu.com/people/zhang-mu-ye-37-76/activities
简书: https://www.jianshu.com/u/02c0096cbfd3
推荐阅读
-
【SQL】Oracle和MySQL数据库列值横排
-
常见数据库Sql Server,Oracle和MySQL的分页语句
-
常见数据库Sql Server,Oracle和MySQL的分页语句
-
兼容Oracle和MySQL数据库的几点看法 OracleMySQL脚本SQL
-
Sql查询MySql数据库中的表名和描述表中字段(列)信息
-
使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和表名,字段名
-
SQL Server、Oracle和MySQL中查出值为NULL的替换
-
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
-
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
-
Spring连接MySQL、Oracle和SQL Server的数据库运动连接属性