【YashanDB知识库】listagg拼接结果发生溢出

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

【问题分类】功能使用

【关键字】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

【修复版本】-

posted @   YashanDB  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签
点击右上角即可分享
微信分享提示