在开发过程中会遇到合并记录的情况,一般使用wmsys.wm_concat()即可,例如:

select zf_bh,wmsys.wm_concat(shgx) NO_SHGX from (select shgx from T_YZGL_DK_SHGX  where zf_bh is not null) group by zf_bh

但是wmsys.wm_concat()使用是有前提的,那就是合并后的字符串长度不能大于4000,大于4000后就出现长度超过系统限制的异常;

这时可以使用XMLAGG(XMLELEMENT(E, field || '\n')).EXTRACT('//text()').getclobval();这里‘\n’为换行符作为连接符号,也可以用其它的例如‘,’;这样就能解决问题。

select zf_bh,XMLAGG(XMLELEMENT(E, shgx || '\n')).EXTRACT('//text()').getclobval() NO_SHGX from (select shgx from T_YZGL_DK_SHGX  where zf_bh is not null) group by zf_bh

但是今天在实际开发过程中居然出现了ORA-31061:XDB错误:special char to escaped char conversion failed,有点莫名其妙啊,说特殊字符转义失败;最后再oracle官网找到了解决办法,将sql修改为:

select zf_bh,XMLAGG(XMLELEMENT(E,REGEXP_REPLACE(shgx,'[[:cntrl:]]'),'\n') ORDER BY CAST(shgx AS varchar2(4000))).EXTRACT('//text()').getclobval() NO_SHGX from (select shgx from T_YZGL_DK_SHGX  where zf_bh is not null) group by zf_bh

参考https://community.oracle.com/message/14248976

关于wmsys.wm_concat() 多条记录合并,及可能出现的异常ORA-31061:XDB错误:special char to escaped char conversion failed相关推荐

  1. MYSQL 单表一对多查询,将多条记录合并成一条记录

    MYSQL 单表一对多查询,将多条记录合并成一条记录 一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实 ...

  2. mysql 一对多 右表多条记录合并_MYSQL 单表一对多查询,将多条记录合并成一条记录...

    一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实现SQL语句: SELECT a.books, GRO ...

  3. SQL低版本连续多条记录合并,多条记录分组合并

    步骤一 准备数据:temp_ combine_202208,三个字段,机构号,id号,日期 organ_no id_no date 1001 30001 20220131 1001 30001 202 ...

  4. 取多条记录时报数组越界异常_9D sp1使用DMap出图报数组越界异常

    根据提供的截图信息无法定位是哪个环节的问题,可以提供一份示例代码给你参考,看看能否正常出图. def mapToPng(): Unit = { val map = new DMap() val wsP ...

  5. 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...

    原帖:http://www.cnblogs.com/nayitian/p/3231734.html wmsys.wm_concat Definition: The Oracle PL/SQL WM_C ...

  6. mysql中如何将一个表中的部分记录合并,MySQL数据库将多条记录的单个字段合并成一条记录_MySQL...

    bitsCN.com MySQL数据库将多条记录的单个字段合并成一条记录 MySQL数据库将多条记录的单个字段合并成一条记录的操作是本文 我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧 ...

  7. mysql合并多条纪录字段_Mysql应用mysql合并多条记录的单个字段去一条记录编辑

    <MysqL应用MysqL合并多条记录的单个字段去一条记录编辑>要点: 本文介绍了MysqL应用MysqL合并多条记录的单个字段去一条记录编辑,希望对您有用.如果有疑问,可以联系我们.测试 ...

  8. mysql合并多条纪录字段_mysql合并多条记录的单个字段去一条记录

    mysql怎么合并多条记录的单个字段去一条记录,今天在网上找了一下,方法如下: 测试用表结构: -- ------------------------------------------------- ...

  9. sql server 多条记录数据合并为一条_面试必备sql知识点——MySQL基础

    在刷了上百道sql题后,发现所有的题目都是基于某一个或几个知识点来做考察的,所以理清基础的知识细节,才能在题目考察到任意知识点时,找到解决线索. 温故而知新,学习在于总结,于是我再次对已经学习过的my ...

最新文章

  1. android实现长截屏,Android实现全屏截图或长截屏功能
  2. APP测试和传统软件测试有什么区别
  3. python学习 day19
  4. LeetCode 17 电话号码的字母组合
  5. 泰一指尚大数据应用成为第一批省级重点企业研究院
  6. 美国教授描述未来学校,将颠覆现有教育模式
  7. 补习系列(12)-springboot 与邮件发送
  8. python具有可扩展的特性_Python的特点
  9. linux命令大全私房菜,linux命令大全(自己制作,基于鸟书私房菜以及man)-D
  10. 非科班研究生转码-零基础学java笔记总结复习(1)
  11. 三星S4使用体验(Markdown版)
  12. c++ primer plus第六版复习题及答案
  13. 语法分析器-LL(1)语法分析
  14. Excel从入门到精通--基础篇
  15. CH Dream(侠客行)
  16. Learning Continuous Image Representation with Local Implicit Image Function解读
  17. Excel函数返回定期付息证券的应计利息
  18. CSS3 transform变形属性、2D变形、3D变形
  19. python3 pyQt5之listWidget控件的高级运用--将多种控件组合插入其中一行
  20. 请求分页管理方式页面置换算法

热门文章

  1. APP性能测试关注点详细介绍
  2. 对于越野车来说 带大梁,前后硬桥!
  3. 应聘计算机简历中的爱好怎么写,关于求职个人简历中的爱好特长应该怎么写
  4. 悟已往之不谏,知来者之可追
  5. 微程序控制计算机的工作原理,微程序控制器的基本原理详细图解
  6. Oracle:cost耗费高的sql执行比cost耗费慢的效率快
  7. 深入理解SD卡:协议
  8. 美团运维SRE+运维开发一面面经汇总
  9. mysql查询行数count(*)、coun(1)、count(primary key)查询效率问题
  10. fopen函数的打开模式