Как очистить столбец от непечатных символов так, чтобы остались только буквы и пробелы?

Где-то в строках столбца ФИО засели символы, которые мне не удается вычистить.

То есть удается только удалив и все пробелы заодно. Между Фамилией, именем, и отчеством должны быть одинарные пробелы.

SELECT REGEXP_REPLACE("ФИО",'\s') FROM MyTable;

Ответы (1 шт):

Автор решения: 0xdb

Вот как звучит вопрос, так и делайте: от символов [ не ^ печатных [:print:], получится:

select 
    '>>'||"ФИО"||'<<' "ФИО", '>>'||regexp_replace ("ФИО", '[^[:print:]]+')||'<<' "ФИО" 
from (
    select chr(9)||'Иванов '||chr(10)||'Иван Иваныч'||chr(7) "ФИО" from dual)
/

ФИО                       ФИО                   
------------------------- ----------------------
>>  Иванов                  >>Иванов Иван Иваныч<<
Иван Иваныч<<                                  
→ Ссылка