Istnieje wiele podobnych pytań na ten temat, ale nie mogę znaleźć żadnych rozwiązań, które uwzględniają wszystko, czego wynik końcowy nie jest zbyt duży dla varchar2.Łączenie wierszy w CLOB
Więc co próbuję zrobić, to zmienić:
Column1 | Column2
-------- --------
1 Hello
1 world,
1 please help
2 Thanks
2 world,
2 you're the best.
Do tego:
Column1 | Column2
-------- --------
1 Hello world, please help
2 Thanks world, you're the best.
Moje szczególnym problemem jest to, że istnieje kilka przypadków, w których nowa wartość przekracza 4000 łączonych znaków, więc nie mogę używać LISTAGG
, tak jak miałem nadzieję. Jestem szczególnie zainteresowany rozwiązaniami bez konieczności pisania funkcji, ale albo to zrobię.
Widziałeś ten http://stackoverflow.com/questions/9412512/ alternatywa-lista-w-oracle? –
Wyniki LISTAGG są ograniczone do maksymalnego rozmiaru VARCHAR2 w SQL (tj. 4000). W przypadku większych ciągów musimy użyć alternatywnych sposobów zbierania elementów (takich jak kolekcja lub zdefiniowana przez użytkownika funkcja PL/SQL). –