Bom, vc FOI na página que indiquei e viu que o caracter de LF (que é o que o Linux/Unix usa para indicar quebra de linha) equivale a 10, certo ?? Então ** VEJA ** no dump que tem SIM chr(10) ás pampas aí, okdoc ? Com certeza foi erro teu quando vc disse no início da thread que "não achou".... Muito bem : no caso, veja que vc nçao tem sequências longas de espaço (espaço=chr(32)) para fazer pular linhas, então como eu disse com certeza o que vc tem é combinação de quebra de página, ie, uma quebra logo depois de outra, confirme isso vendo no DUMP se realmente os pulos de linha equivalem aos locais onde aparecem dosi caracteres de código "10" juntos.... Sendo isso, é Exatamente o que eu disse, replace apenas, exemplo :
SYSTEM@xyz#1:SQL>create table T(c1 varchar2(200)); Table created. SYSTEM@xyz#1:SQL>insert into T values ('Linha1' || chr(10) || 'Linha2' || chr(10) || chr(10) || 'Linha 3' || chr(10)); 1 row created. SYSTEM@xyz#1:SQL>commit; Commit complete. => veja aí embaixo a linha sendo pulada pela junção de dois caracters ascii código 10 : SYSTEM@xyz#1:SQL>select * from T; C1 --------------------------------------------------------------------------------------------------------------------------------- Linha1 Linha2 Linha 3 SYSTEM@xyz#1:SQL>select dump(c1) from T; DUMP(C1) --------------------------------------------------------------------------------------------------------------------------------- Typ=1 Len=23: 76,105,110,104,97,49,10,76,105,110,104,97,50,10,10,76,105,110,104,97,32,51,10 ==> Viu no DUMP ??? pelo que vejo é EXATAMENTE esse teu caso, um simples REPLACE resolve : SYSTEM@xyz#1:SQL>update T set c1 = replace(c1, chr(10)||chr(10), chr(10)); 1 row updated. SYSTEM@xyz#1:SQL>commit; Commit complete. SYSTEM@xyz#1:SQL>select * from t; C1 --------------------------------------------------------------------------------------------------------------------------------- Linha1 Linha2 Linha 3 SYSTEM@xyz#1:SQL> okdoc ???? []s Chiappa