问题描述:有一次在使用wm_concat()函数时,控制台报整个错误:wm_concat Ora-06502:PL/sql:数字或值错误。
遇到问题第一时间找度娘。网上各位大神说是字符串儿缓冲区太小。
首先,我们先看一下wm_concat(列明)具体是干嘛的.该函数可以把列值以","号分隔起来,并显示成一行。
为什么会出现报这个错误呢?我们看一下wm_concat(列明),参数的类型“列明”结果集的数据类型是什么呢?经查阅这个结果集的数据类型是VARCHAR2(4000)(来源https://www.cnblogs.com/kerrycode/p/3833746.html)。而如果我们的结果集的长度大于了4000肯定会出现错误的,这个不符合oracle的语法规则。问题找到就好解决问题了!