Re: [pgbr-geral] Remover caracteres escondido

2017-08-18 Por tôpico Luís Roberto Weck



Em 18/08/2017 11:03, Zan escreveu:

On 18/08/2017 10:57, Douglas Fabiano Specht wrote:

bom dia
ja tive esse problema, e utilize a seguinte função.



  --função para substituir caracteres especiais

  CREATE OR REPLACE FUNCTION retira_acentuacao1(p_texto text)
   RETURNS text AS
  $BODY$
  Select translate($1,
'áâãäåaaaÁÂÃÄÅAAAèééêëeEEEÉEEìíîïìiiiÌÍÎÏÌIIIóôõöoooÒÓÔÕÖOOOùúûüÙÚÛÜçÇ<>!@#$%¨*()_+={}[]?;:|*~^´`¨æÆø£Øƒªº¿®½¼ßµþýÝ€§¬©¢¥¤ðÐÞÞ¶ 
',  --no final tem tbm o 144 da tabela ascii
'áâãaÁÂÃAèééêeeEEEÉEEìíîiìiiiÌÍÎIÌIIIóôõÒÓÔÕùúûuÙÚÛUçÇ 
'

   );
  $BODY$
  LANGUAGE sql VOLATILE
  COST 100;


Douglas, no meu caso não deu certo. Este bendito caractere 
(\342\200\213) é uma "?".


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


Existe no contrib do PostgreSQL uma função 'unaccent' que tem mais 
regras que a função que o colega Douglas passou. Talvez possas testar ela?

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

Re: [pgbr-geral] Trocar separador de campos de um RECORD

2016-07-21 Por tôpico Luís Roberto Weck
Em Quarta-feira, 20 de Julho de 2016 19:40, Tiago José Adami 
 escreveu:



Em 20 de julho de 2016 18:24, Heloisa Fernanda
> escreveu:
> Olá Pessoal!
>
> Estou trazendo o resultado de uma consulta em um record, ex:
>
> SELECT
> exame::TEXT
> FROM
> exame;
>
> Retorna algo assim: (ZIKAG,"ZIKA VÍRUS ANTICORPOS IGG","Para descartar
> infecção recente, realizar ensaio de IgM ou soroconversão em IgG no
> intervalo de 3 a 4 semanas.",1)
>
> Mas preciso trocar o separador de campos de vírgula para alguma 
outra coisa,

> alguém tem ideia de como fazer isso?
>

Olá, Heloisa.

Tente isso:

SELECT
  REPLACE(exame::TEXT, ',', ';') as exame
FROM
  exame;

O primeiro parâmetro da função REPLACE [1] é a entrada, o texto
principal. O segundo é o caractere que você quer substituir e o
terceiro o novo substituto. Neste caso troquei as vírgulas por
ponto-e-vírgula.

[1]
https://www.postgresql.org/docs/9.5/static/functions-string.html

Oi Tiago!
Quem dera fosse simples assim!!! :)
O problema é que não posso substituir a vírgula dentro dos campos, 
perceba que existe uma vírgula aqui: "Para descartar infecção recente, 
realizar ensaio de IgM ou soroconversão em IgG no intervalo de 3 a 4 
semanas."

Eu preciso substituir o separador sem alterar o conteúdo dos campos




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

Olá Heloisa,

Você pode tentar algo como:

SELECT '('||campo1||';"'||campo2||'";"'||campo3||'";'||campo4||')'::TEXT 
as exame

 FROM  exame

Para poucos campos, resolveria.
--
Luís R. Weck
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral