本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7849011.html?templateId=171...

【问题分类】功能使用

【关键字】listagg,YAS-02511

【问题描述】使用listagg进行业务查询提示YAS-02511 result of string concatenation value exceeds maximum length of 8000 characters

【问题原因分析】listagg拼接结果发生溢出

【解决/规避方法】当拼接的结果发生溢出时候(即拼接的expr+分隔符>8000时)进行特殊处理:

on overflow error:默认选项,发生溢出时直接报错。

on overflow truncate(text):text是指定的终止标志(即终止符),在发生溢出后需要预留位置用来放置终止标志,默认终止标志为'...'占3个字节。

with count:发生溢出时且使用truncate时,默认输出count。在发生溢出后需要预留26个字节(给count预留24个字符,括号预留2个字符)。将已经拼接的行数往回回滚到可以放置需要给"(count)"和终止标志预留的字节数,将最终溢出的行数赋值给count。使用方法例如on overflow truncate '*' with count。

without count:在截断后面不显示截断的行数,发生溢出时需要为终止标志预留位置,不需要为"(count)"预留位置。例如on overflow truncate '*' without count。

【影响范围】23.2.3.100

【修复版本】-


YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...