关于wmsys.wm_concat() 多条记录合并,及可能出现的异常ORA-31061:XDB错误:special char to escaped char conversion failed
在开发过程中会遇到合并记录的情况,一般使用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相关推荐
- MYSQL 单表一对多查询,将多条记录合并成一条记录
MYSQL 单表一对多查询,将多条记录合并成一条记录 一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实 ...
- mysql 一对多 右表多条记录合并_MYSQL 单表一对多查询,将多条记录合并成一条记录...
一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实现SQL语句: SELECT a.books, GRO ...
- SQL低版本连续多条记录合并,多条记录分组合并
步骤一 准备数据:temp_ combine_202208,三个字段,机构号,id号,日期 organ_no id_no date 1001 30001 20220131 1001 30001 202 ...
- 取多条记录时报数组越界异常_9D sp1使用DMap出图报数组越界异常
根据提供的截图信息无法定位是哪个环节的问题,可以提供一份示例代码给你参考,看看能否正常出图. def mapToPng(): Unit = { val map = new DMap() val wsP ...
- 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...
原帖:http://www.cnblogs.com/nayitian/p/3231734.html wmsys.wm_concat Definition: The Oracle PL/SQL WM_C ...
- mysql中如何将一个表中的部分记录合并,MySQL数据库将多条记录的单个字段合并成一条记录_MySQL...
bitsCN.com MySQL数据库将多条记录的单个字段合并成一条记录 MySQL数据库将多条记录的单个字段合并成一条记录的操作是本文 我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧 ...
- mysql合并多条纪录字段_Mysql应用mysql合并多条记录的单个字段去一条记录编辑
<MysqL应用MysqL合并多条记录的单个字段去一条记录编辑>要点: 本文介绍了MysqL应用MysqL合并多条记录的单个字段去一条记录编辑,希望对您有用.如果有疑问,可以联系我们.测试 ...
- mysql合并多条纪录字段_mysql合并多条记录的单个字段去一条记录
mysql怎么合并多条记录的单个字段去一条记录,今天在网上找了一下,方法如下: 测试用表结构: -- ------------------------------------------------- ...
- sql server 多条记录数据合并为一条_面试必备sql知识点——MySQL基础
在刷了上百道sql题后,发现所有的题目都是基于某一个或几个知识点来做考察的,所以理清基础的知识细节,才能在题目考察到任意知识点时,找到解决线索. 温故而知新,学习在于总结,于是我再次对已经学习过的my ...
最新文章
- android实现长截屏,Android实现全屏截图或长截屏功能
- APP测试和传统软件测试有什么区别
- python学习 day19
- LeetCode 17 电话号码的字母组合
- 泰一指尚大数据应用成为第一批省级重点企业研究院
- 美国教授描述未来学校,将颠覆现有教育模式
- 补习系列(12)-springboot 与邮件发送
- python具有可扩展的特性_Python的特点
- linux命令大全私房菜,linux命令大全(自己制作,基于鸟书私房菜以及man)-D
- 非科班研究生转码-零基础学java笔记总结复习(1)
- 三星S4使用体验(Markdown版)
- c++ primer plus第六版复习题及答案
- 语法分析器-LL(1)语法分析
- Excel从入门到精通--基础篇
- CH Dream(侠客行)
- Learning Continuous Image Representation with Local Implicit Image Function解读
- Excel函数返回定期付息证券的应计利息
- CSS3 transform变形属性、2D变形、3D变形
- python3 pyQt5之listWidget控件的高级运用--将多种控件组合插入其中一行
- 请求分页管理方式页面置换算法