Сначала вы просто избавляетесь от пробелов, используя replace
.
На втором шаге вы должны удалить повторяющиеся символы новой строки - заменив их только одним символом новой строки - пользователь regexp_replace
для этой цели.
Обратите внимание, что вам потребуется возможная настройка новой строки в зависимости от вашей ОС.
Подобное действительно для заготовок, если есть вкладки или другие белые вещи.
with dta as (
select 'test1
test2
test3
test4' as txt from dual)
select regexp_replace(replace(txt,' ',null),chr(10)||'+',chr(10)) txt from dta;
TXT
-----------------------
test1
test2
test3
test4
Обратите внимание, что в результате вы по-прежнему получаете только одну строку - если вы хотите получить результат в четыре строки, вы должны дополнительно разбить строку на новую строку, см., Например, здесь