gpt4 book ai didi

sql - 截断的 LISTAGG 字符串

转载 作者:行者123 更新时间:2023-12-01 17:42:36 27 4
gpt4 key购买 nike

我正在使用 Oracle 11g r2,我需要连接多行中的字符串 (VARCHAR2, 300)。我正在使用LISTAGG在连接的字符串达到限制之前,它的效果很好。那时我收到一个 ORA-01489: result of string concatenation is too long .

最后,我只想要连接字符串的前 4000 个字符。我如何到达那里并不重要。我会接受低效的解决方案。

这是我的查询:

SELECT LISTAGG(T.NAME, ' ') WITHIN GROUP (ORDER BY NULL)
FROM T

最佳答案

此代码适用于任何长度的数据,而且速度足够快

SELECT REPLACE(
REPLACE(
XMLAGG(
XMLELEMENT("A",T.NAME)
ORDER BY 1).getClobVal(),
'<A>',''),
'</A>','[delimiter]')
FROM T

关于sql - 截断的 LISTAGG 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com