我有一个查询,它使用该listagg
函数将所有行作为逗号分隔的字符串最终发送到一个大文本框。我收到以下异常:
ORA-01489: result of string concatenation is too long
我知道问题是正在运行以聚合数据的查询返回的行太多,以至于listagg
正在执行的字符串连接违反了 4000 个字符的限制。但是,对于我的用例,截断到前 4000 个字符是完全可以接受的。
我将如何从此处修改此示例查询以将“值”列限制为最多 4000 个字符?
SELECT LISTAGG(product_name, ', ') WITHIN
GROUP(
ORDER BY product_name DESC) "Product_Listing"
FROM products
你不能substr
绕过调用listagg' because
listagg throws the exception before
substr` 被调用过。
我在 SO 上看到了很多关于如何绕过 4000 个字符限制但不限制结果值的问题。