Wenn ein Spaltenwert zu lang ist, gibt Listagg NULL-Ausgabe in Oracle 12c. Was ist die Ursache dafür und was ist die Lösung?LISTAGG in Oracle gibt NULL
SQL> select length(algo_desc) from r2_temp where DECL = '305';
32759
ALGO_DESC ist sehr lang, wie 1045,2339,2389 ....... 37364,58922,2389392 Nun, wenn ich LISTAGG verwenden dann gibt es NULL wie folgt:
SQL> select dump(listagg(algo_desc, ',') within group (order by algo_desc)) as algo_desc from r2_temp where DECL = '305';
NULL
maximale Größe der Spalte ALGO_DESC 32767, es erweitert varchar2 in 12c
'l istagg() 'ist auf die Länge von' varchar2() '/' nvarchar2() 'begrenzt, was eher 4000 Zeichen entspricht. –
Ich verwende erweiterte varchar2 Größe, z. B. VARCHAR2 (32767) –
Interessant. Bei einigen langen Werten scheint es beschädigt zu sein, mit einem Dump, der viele Nullen anzeigt (was wie Bug 19461687 aussieht, aber das sollte behoben sein). Und dann manifestiert sich diese Korruption irgendwann als eine allgemeine Null? Zeit, eine Serviceanfrage zu stellen, vielleicht? –