【发布时间】:2017-12-07 01:10:23
【问题描述】:
我有一个简单的 Select 查询,它聚合包含大文本的一列。 以下内容适用于我的小文本,但 我现在超出了 Listagg 字符限制(4000 字节?)。
我是 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: docs.oracle.com/database/121/REFRN/… -
@a_horse_with_no_name:谢谢。 32k 就足够了,因为我只期望 max items 最多 10k 个字符,但在这种情况下我不能对 db 或一般 SQL 设置进行任何更改。
标签: sql oracle aggregate string-concatenation listagg