----- Original Message ----- 
From: "Marcelo Silva" <marc...@ig.com.br>
To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br>
Sent: Friday, December 07, 2012 7:05 PM
Subject: Re: [pgbr-geral] Replace de chr(13)


Então Osvaldo, consegui da seguinte forma

select repacle(campo, chr(13)||chr(10), ' ') from tabela


Marcelo Silva
------------------------------------------
Desenvolvedor Delphi, PHP

Tel.: (11) 2962-7390
Cel.: (11) 5250-1407 - Tim
Cel.: (11) 9693-4251 - Vivo

-----Mensagem Original----- 
From: Osvaldo Kussama
Sent: Friday, December 07, 2012 6:33 PM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Replace de chr(13)

Em 07/12/12, Marcelo Silva<marc...@ig.com.br> escreveu:
> Senhores, como vão tudo bem? Espero que sim...
>
> Seguinte, estou precisando dar uma replace em todas as quebras de linha em
> um campo Text, mas não estou conseguindo
>
> Exemplo no PGAdmin3 executo:
>
> SELECT REPLACE(CAMPO, CHR(13), ‘’) AS TEXTO FROM TABELA
>
> Em um teste com * no lugar de espaço vejo que ele até substitue o chr(13)
> mas a linha ainda continua com quebra
>
> Alguma dica?
>
>
> Ambiente:
>
> Postgres 9.1
> Servidor Linux
> Codepage UTF-8
> Cliente LATIN1
>


Mas chr(13) é o caractere CR e creio que você queira trocar o chr(10) LF.
Se, por acaso, seu texto foi gerado em ambiente Windows talvez você
tenha que eliminar o par CR/LF.

Osvaldo


é muito mais garantido que seja feita desta forma:
SELECT REPLACE(REPLACE(campo_tabela, CHR(13), ''),CHR(10),'') AS 
campo_tabela FROM tabela

Por quê dois replaces?
o CHR(10) equivale a quebra de linha quando utilizamos algumas aplicações 
que trabalham com texto puro.
as vezes, temos aplicações que escreverm o CHR(13) para a quebra de linha. 
Esntão se faz os dois replaces.
Da maneira acime feita (CHR(13)||CHR(10)) só vai remover se estiverem os 
dois concatenados.

Tem uma opção bem mais prática de se remover caracteres:
SELECT translate(campo_tabela,quote_literal(CHR(10)||CHR(13)),'') AS 
campo_tabela FROM tabela;

o comando translate(campo_origem, string_procura, string_substituiçao) se 
não tiver o correspondente no segundo parametro, ele remove apenas o 
caractere.

Att. Rieg

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to