当前位置: 首页 > news >正文

Oracle 聚合拼接的常用方式

Oracle常用函数:Oracle Database SQL Language Reference, 12c Release 2 (12.2)

1 listagg

LISTAGG

Syntax


Description of the illustration listagg.eps

(listagg_overflow_clause::=, order_by_clause::=, query_partition_clause::=)

listagg_overflow_clause::=


Description of the illustration listagg_overflow_clause.eps

eg:

listagg(t.GROUP_CODE, '","') within group(order by t.GROUP_CODE) as GROUP_CODE

2 wm_concat

该方式仅Oracle可用。

eg:

REPLACE(wm_concat(t.GROUP_CODE), ',', '","') AS GROUP_CODE

3 xmlagg

Syntax


Description of the illustration xmlagg.eps

eg:

xmlagg(xmlelement(e,t.GROUP_CODE,'","').extract('//text()')).getclobval() AS GROUP_CODE

--查询获取指定用户对象涉及的表空间DDL SELECT REGEXP_REPLACE(REGEXP_REPLACE(XMLAGG(XMLELEMENT(E, T.TABLESPACEDDL, ';').EXTRACT('//text()')) .GETCLOBVAL(), CHR(38) || 'quot;', '"'), CHR(38) || 'apos;', CHR(39)) AS TABLESPACEDDL FROM (SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TABLESPACE_NAME) TABLESPACEDDL FROM (SELECT DISTINCT A.TABLESPACE_NAME TABLESPACE_NAME FROM DBA_SEGMENTS A WHERE A.TABLESPACE_NAME NOT IN ('SYS', 'SYSTEM') AND A.OWNER IN ('A', 'B', 'C', 'XXX'))) T;

4 JSON_ARRAYAGG

Syntax


Description of the illustration json_arrayagg.eps

(See order_by_clause::= in the documentation onSELECTfor the syntax of this clause)

JSON_on_null_clause::=


Description of the illustration json_on_null_clause.eps

JSON_agg_returning_clause::=


Description of the illustration json_agg_returning_clause.eps

eg:

(1)json_value(JSON_ARRAYAGG(json_value(json_object(t.GROUP_CODE),'$.GROUP_CODE') returning clob) ,'$[0]') AS GROUP_CODE

(2)rtrim(ltrim(JSON_ARRAYAGG(json_value(json_object(t.GROUP_CODE),'$.GROUP_CODE') returning clob),'["'),'"]') AS GROUP_CODE

http://www.cnnetsun.cn/news/4102920.html

相关文章:

  • 个人微信API接口为何受到开发团队关注?微信能力开放后的5个开发价值
  • 从0到1:用OpenCore自动化配置工具把旧电脑变成macOS主机
  • 告别macOS外接鼠标的卡顿体验:用Mac Mouse Fix把普通鼠标变成效率神器
  • 分治题目:所有可能的真二叉树
  • 极简产品升级前的核对清单
  • SAP-QM QS27 替换主检验特性
  • 【专题05】Kubernetes面试题(50题)
  • ATtiny10驱动OLED:1KB闪存下的嵌入式图形显示极限实践
  • SimpylFold 使用技巧:10 个必学的 Vim 代码折叠命令
  • RT-Thread启动流程全解析:从硬件上电到多任务调度
  • 基于端口哈密顿框架的多智能体分布式编队控制:从能量原理到工程实践
  • 800V车载充电机技术解析:从碳化硅到双向充电的工程跃迁
  • kkFileViewOfficeEdit 压缩包预览实现原理:ZIP/RAR 树形结构解析与异步解压全解
  • PMS 升级后转码器失效?Plex-Remote-Transcoder overwrite 一键修复指南
  • 光序列创建器:可视化灯光编程工具的设计与实现
  • AI 赋能移民申请:ChatGPT 与浏览器协同工作流全解析
  • 通用分页查询架构设计:基于配置驱动的中后台列表开发实践
  • OpenMMD:把真人舞蹈变成3D动画的免费动作捕捉完整指南
  • 几秒完成m4s转MP4:m4s-converter 免费无损合并 B 站缓存视频
  • 我把50G重复文件一次清空:这款Rust开源清理工具实测笔记
  • 从2019年德系54款新车规划,解码车企战略制定与产品布局逻辑
  • 多模型智能体系统成本与延迟优化:结构化路由的运行时负担分配方法论
  • 福田拓陆者E7皮卡试驾:从工具到伙伴的细节进化
  • RTOS诊断与错误检查:从内核监控到UDS实战的嵌入式系统可靠性保障
  • AI+VBA自动化:从非结构化文本到Excel结构化数据录入
  • 样式动画与布局的维护方法
  • Feetech STS3215总线舵机配置指南:从硬件连接到多机协同控制
  • 【2027最新】基于SpringBoot+Vue的房屋交易平台管理系统源码+MyBatis+MySQL
  • 数字游民工具接口怎样约定才少返工
  • 老游戏兼容优化避坑指南:DDrawCompat 从零到进阶