我有一个简单的Select查询来聚合包含大文本的一列。 以下为我工作的小文本,但我现在超过了Listagg字符限制(4000字节?)。Oracle SQL:聚合大文本的替代方法(当超出Listagg限制时)
我对Oracle很新,无法找到适用于此在线的适当解决方案,我可以在此处应用。
有人能告诉我这个最好的选择吗?
我的查询(简体):
SELECT
m.S_ID AS SID
, LISTAGG
(
'ITEM NO.: ' || m.ITEM ||
' -nl-ARTICLE: ' || a.ARTICLE ||
' -nl-NET: ' || m.NET ||
' -nl-TAX: ' || NVL(m.TAX, 0) ||
' -nl-GROSS: ' || (m.NET + m.TAX),
' -nl--nl-'
) WITHIN GROUP (ORDER BY m.S_ID) AS Details
/* ... */
FROM
myTable m
/* ... */
非常感谢任何帮助,
迈克
如果32K足够只需要设置'MAX_STRING_SIZE'到'extended':https://docs.oracle.com/database/121/REFRN/GUID-D424D23B-0933-425F -BC69-9C0E6724693C.htm#REFRN10321 –
@a_horse_with_no_name:谢谢你。 32k就足够了,因为我只希望最多可以容纳10k个字符,但在这种情况下,我不能对数据库或常规SQL设置进行任何更改。 – keewee279