Oracle之如何将表数据生成一个分隔列表

简介: Oracle之如何将表数据生成一个分隔列表

今日份知识学习

今天我们来学习Oracle如何根据表数据,生成一个分隔列表,或者是一个有固定字符分隔的字符串,一起来学习一下吧。

具体讲解

本次要实现的结果是将user_table中的name字段进行一个拼接,生成张三、李四、王五的形式。

wm_concat函数

今天的重点不是说这个函数,wm_concat函数虽然经常被大家使用,但是由于此函数在不同版本中的返回值类型的不同,在一些开发场景下,会造成一些无法预估的问题。

所以这里只是提一下,大家有兴趣的可以自行去查看。

listagg

从oracle 11.2版本开始,增加了listagg函数,通过listagg函数我们可以将字符串进行一个合并,并且指定分隔字符。

让我们来看看具体的示例SQL:

select listagg(name, ',') within group(order by name) from user_table

通过以上SQL可以得到我们想要的分隔字符串了,

这里要说一下group(order by name)是什么意思,group中的order by,意思是拼接的字符串要根据那个字段进行排序,这里我们写的name字段,我们可以换成age字段进行排序,这个需要确认当前的使用场景的需求。

同时,listagg函数还可以搭配聚合函数进行一起使用,比如sum、count等等的聚合函数,皆可以同时和listagg进行查询。

比如下面这个SQL:

select sum(age), listagg(name, ',') within group(order by name) from user_table

总结

今天学习了如何将表数据拼接成一个分隔列表,还可以指定相应的分隔字符,大家是否有更好的办法去实现呢?

最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。

喜欢的可以关注一下专栏。

目录
相关文章
|
5月前
|
SQL Oracle 关系型数据库
Oracle之如何将分隔数据转换为IN列表
Oracle之如何将分隔数据转换为IN列表
44 1
|
6月前
|
Oracle 关系型数据库 Java
Mybatis JdbcType与Oracle、MySql数据类型对应列表
Mybatis JdbcType与Oracle、MySql数据类型对应列表
|
运维 分布式计算 Oracle
【大数据开发运维解决方案】Linux Solr5.1安装及导入Oracle数据库表数据
在solr页面中点击core admin–>add core 增加一个core。和id字段如果不做主键,需要将required="true"去掉。配置文件介绍中已经说了问题的主要原因是schema配置文件中存在。2、取消ID的required=true,修改为指定的字段即可。保存退出,至于为什么这么改,看后面遇到的问题及解决方法。1、将uniqueKey修改为你导入solr的字段。能够正常查询出来数据,简单导入完成。最后结果如上截图及配置。
【大数据开发运维解决方案】Linux Solr5.1安装及导入Oracle数据库表数据
|
Oracle 关系型数据库
oracle表数据量太大,expdp只导出部分
oracle表数据量太大,expdp只导出部分
160 0
|
Oracle 关系型数据库 索引
oracle学习26-误删表数据和误删表回滚
oracle学习26-误删表数据和误删表回滚
80 0
|
Oracle Java 关系型数据库
通过Loadrunner读取excel表数据并批量更新到Oracle中
本文以Loadrunner的Java_Vuser脚本为例,来做一个简化版的自动化测试框架(以excel作为数据驱动),实现批量更新Oracle业务数据库的目的,通过本文例子我们还可以实现将Loadrunner由性能测试工具,转换成一个接口自动化测试工具
986 0
|
SQL Oracle 关系型数据库
Oracle表数据恢复
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/52702126 有时候我们操作数据库时可能因为误操作把某张表更新或删除并且提交了。
932 0