gpt4 book ai didi

casting - 如何调整 LISTAGG 以在选择查询中支持超过 4000 个字符?

转载 作者:行者123 更新时间:2023-12-04 16:24:40 25 4
gpt4 key购买 nike

Oracle 数据库 11g 企业版 11.2.0.2.0 版 - 64 位生产。

我有以下格式的表格。

Name     Department
Johny Dep1
Jacky Dep2
Ramu Dep1

我需要以下格式的输出。
Dep1 - Johny,Ramu
Dep2 - Jacky

我已经尝试过 'LISTAGG' 功能,但有 4000 个字符的硬限制。由于我的数据库表很大,因此无法在应用程序中使用。另一种选择是使用
SELECT CAST(COLLECT(Name)

但是我的框架允许我只执行选择查询而不执行 PL/SQL 脚本。因此我没有找到任何方法来使用 COLLECT 命令所需的“CREATE TYPE”命令来创建类型。

有没有其他方法可以使用 select 查询实现上述结果?

最佳答案

您应该添加 GetClobVal 并且还需要 rtrim 因为它会在结果的末尾返回分隔符。

SELECT RTRIM(XMLAGG(XMLELEMENT(E,colname,',').EXTRACT('//text()') 
ORDER BY colname).GetClobVal(),',') from tablename;

关于casting - 如何调整 LISTAGG 以在选择查询中支持超过 4000 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15677446/

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