Oracle中的LISTAGG函数在将值连接成一个字符串时有一个默认的最大长度限制,即4000个字符。如果连接后的字符串超过了这个长度限制,会抛出ORA-01489错误。
要解决这个问题,可以通过使用LISTAGG函数的MAX_STRING_SIZE参数来增加最大长度限制。可以将MAX_STRING_SIZE设置为EXTENDED来将最大长度限制增加到32767个字符。
示例:
SELECT LISTAGG(column_name, ',') WITHIN GROUP (ORDER BY column_name)
FROM table_name
MAX_STRING_SIZE 32767;
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:oracle listagg函数的局限性