listagg和xmlagg

分组中同一字段用逗号(,)连接,下面是一个LISTAGG函数例子:
LISTAGG(BSO.ID, ‘,’) WITHIN GROUP (ORDER BY BSO.ID)
规范写法 : LISTAGG(字段, 连接符) WITHIN GROUP (ORDER BY 字段)

通常情况下,LISTAGG是满足需要的,LISTAGG 返回的是一个varchar2类型的数据,最大字节长度为4000。

所以,在实际开发中,我们可能会遇到一个问题,连接长度过长。在这个时候,我们需要将LISTAGG函数改成XMLAGG函数。XMLAGG返回的类型为CLOB,最大字节长度为32767。

下面是XMLAGG函数的例子:
XMLAGG(XMLPARSE(CONTENT BSO.ID || ‘,’ WELLFORMED) ORDER BY BSO.ID).GETCLOBVAL()
规划写法: XMLAGG(XMLPARSE(CONTENT 字段 || 字符串 WELLFORMED) ORDER BY 字段).GETCLOBVAL()
————————————————
版权声明:本文为CSDN博主「勤劳小葱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zqkwcyx/article/details/88663982

你可能感兴趣的:(listagg和xmlagg)