oracle数据库使用wm_concat()函数时遇到的一个问题

问题描述:有一次在使用wm_concat()函数时,控制台报整个错误:wm_concat Ora-06502:PL/sql:数字或值错误。

遇到问题第一时间找度娘。网上各位大神说是字符串儿缓冲区太小。

首先,我们先看一下wm_concat(列明)具体是干嘛的.该函数可以把列值以","号分隔起来,并显示成一行

为什么会出现报这个错误呢?我们看一下wm_concat(列明),参数的类型“列明”结果集的数据类型是什么呢?经查阅这个结果集的数据类型是VARCHAR2(4000)(来源https://www.cnblogs.com/kerrycode/p/3833746.html)。而如果我们的结果集的长度大于了4000肯定会出现错误的,这个不符合oracle的语法规则。问题找到就好解决问题了!



你可能感兴趣的:(oracle)