写点什么

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

作者:YashanDB
  • 2024-12-31
    广东
  • 本文字数:525 字

    阅读完需:约 2 分钟

本文内容来自 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


【修复版本】-

发布于: 刚刚阅读数: 5
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB知识库】listagg拼接结果发生溢_数据库_YashanDB_InfoQ写作社区