Oracle数据库查询结果拼接(wm_concat、listagg的使用)

更新时间:2023-06-14 05:26:11 阅读: 评论:0

Oracle数据库查询结果拼接(wm_concat、listagg的使⽤)查询结果本来是这样:
结果需要转换成:
参考csdn论坛,了解到可以使⽤以下两种函数:
wm_concat 和 listagg 函数
上半年英文
1.
2. wm_concat,listagg函数都可。。。⼀个10g,⼀个11g
3. sys_connect_by_path,9i也可以⽤这个
我是Oracle11g,测试发现两个函数都可以适⽤,再次参考了解如何使⽤两个函数
如果使⽤listagg函数:
⾸先根据OWNER进⾏分组,然后在每个分组内 根据owner排序后的TABLE_NAME⽤‘,’进⾏拼接
i love you 陶喆SQL> L
1lect listagg(table_name,',')within group(order by owner)所含表,owner from dba_tables where table_name in( 2'DEPT','EMP','BONUS','IDL_SB4$','ERROR$','SETTINGS$'
3)
lico4*group by ownersada
SQL>/
所含表                            OWNER
--------------------------------- ------------------------------
BONUS,DEPT,EMP                    SCOTT
EMP,ERROR$,IDL_SB4$,SETTINGS$    SYS
⽽vm_concat函数:
这⾥不需要写拼接字段,⾃动填充为‘,’regional
SQL>lect  wmsys.wm_concat(table_name)所含表,owner  from dba_tables where table_name in(
2'DEPT','EMP','BONUS','IDL_SB4$','ERROR$','SETTINGS$'
3)
原来如此英语4group by owner
5/
我爱春天
rightnow所含表                            OWNER
--------------------------------- ------------------------------
BONUS,DEPT,EMP                    SCOTT
SETTINGS$,EMP,IDL_SB4$,ERROR$    SYS
acorn
如果⽤加上 over(partition by owner) 结果如下:
当然实际项⽬中⽤到的有点不⼀样,需要根据表格名前3位数进⾏分组
六级写作
查询结果如下:

本文发布于:2023-06-14 05:26:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/950184.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结果   查询   参考   了解   拼接   位数   测试
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图