Есть много подобных вопросов по этому вопросу, но я не могу найти никаких решений, которые учитывают все, что имеет слишком большой результат для varchar2.Объединить строки в CLOB
Так что я пытаюсь сделать, это изменить:
Column1 | Column2
-------- --------
1 Hello
1 world,
1 please help
2 Thanks
2 world,
2 you're the best.
В это:
Column1 | Column2
-------- --------
1 Hello world, please help
2 Thanks world, you're the best.
Моя конкретная проблема в том, что есть несколько случаев, когда новое сцепленное значение превышает 4000 поэтому я не могу использовать LISTAGG
, как я надеялся. Меня особенно интересуют решения, не требующие написать функцию, но и сделают это.
Вы видели это http://stackoverflow.com/questions/9412512/ альтернативный-в-listagg-in-oracle? –
Результаты LISTAGG ограничены максимальным размером VARCHAR2 в SQL (то есть 4000). Для больших строк нам нужно будет использовать альтернативные способы сбора элементов (например, коллекции или пользовательской функции PL/SQL). –