【问题标题】:LISTAGG Oracle 11g列表甲骨文 11g
【发布时间】:2016-02-02 05:07:38
【问题描述】:

我正在使用 LISTAGG 连接我的字符串,这是我面临的一个问题 - 连接时抛出以下错误

"字符串连接的结果太长。 字符串连接结果大于最大大小。 确保结果小于最大大小。 "

我希望连接的字符串超过 4000 个字符...

【问题讨论】:

    标签: oracle11g listagg


    【解决方案1】:

    如果您希望结果超过 4000 个字符并且您使用的是 11g,则不能使用 listagglistagg 在 SQL 中返回 varchar2varchar2 被限制为 4000 个字节(在 12.1 中可以增加到 32k,我的猜测是 listagg 将能够返回一个最长为 32k 的字符串但我没试过)。

    在 11g 中,如果您希望结果长于 4000 字节,则必须使用 clob。我所知道的最好的方法是从 Tim Hall 的 Oracle 字符串聚合技术页面中获取 user-defined aggregate function,并将其修改为使用并返回 clob 而不是 varchar2this German language site 上提供了一个基于 CLOB 的实现示例,尽管即使您不会说德语,代码也很容易阅读。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多