Duhhh... Como sempre, depois que eu faço/digo alguma coisa, penso mais friamente e me vêm à mente a solução ótima :( ... Por isso, penso, é que fui mal nalguns testes, penso devagar mesmo.... Veja só : o "final" de algo em Inglês é TRAILING, e no 11g que é o seu (iirc na verdade introduzido no 10gr2) nós Já TEMOS a opção de TRAILING na função TRIM.... Então é SIMPLESMENTE usar o que temos :
SYSTEM@xyz#1:SQL>truncate table t; Table truncated. ==> vamos enfiar uma qtdade N de linhas em branco (combinações chr(10) chr(10) na string : SYSTEM@xyz#1:SQL>insert into T values ('Linha1' || chr(10) || 'Linha2' || chr(10) || chr(10) || 'Linha 3' || 2 chr(10) || chr(10) || chr(10) || chr(10) || chr(10) || chr(10) || chr(10) || chr(10) || chr(10) ); 1 row created. SYSTEM@xyz#1:SQL>commit; Commit complete. SYSTEM@xyz#1:SQL>select * from t; C1 --------------------------------------------------------------------------------------------------------------------------------- Linha1 Linha2 Linha 3 => maravilha, vamos ver via dump : SYSTEM@xyz#1:SQL>select dump(c1) from t; DUMP(C1) --------------------------------------------------------------------------------------------------------------------------------- Typ=1 Len=31: 76,105,110,104,97,49,10,76,105,110,104,97,50,10,10,76,105,110,104,97,32,51,10,10,10,10,10,10,10,10,10 => legal, vamos remover os TRAILING CHARACTERS : SYSTEM@xyz#1:SQL>update T set c1 = trim(TRAILING chr(10) from c1) 2 ; 1 row updated. SYSTEM@xyz#1:SQL>commit; Commit complete. ==> taí : 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=22: 76,105,110,104,97,49,10,76,105,110,104,97,50,10,10,76,105,110,104,97,32,51 SYSTEM@xyz#1:SQL> né ?? Duhhhh pra mim... []s Chiappa