Coloquei o Upper depois de ter criado a função, para ingorar minusculas e nem 
me atentei a isso, obrigado Marcal.



From: Marcal Hokama 
Sent: Wednesday, October 12, 2011 5:09 PM
To: [email protected] 
Subject: Re: [pgbr-geral] Desculpem, mais uma vez sobre acentos (LATIN1)

> From: [email protected]
> To: [email protected]
> Date: Wed, 12 Oct 2011 16:52:03 -0300
> Subject: Re: [pgbr-geral] Desculpem, mais uma vez sobre acentos (LATIN1)
> 
> Bem, depois da ajuda dos amigos aqui da lista, vendo que ainda não há algo 
> nativo no postgres, resolvi usar uma função para minhas pesquisas, assim 
> resolvo meu problema por hora.
> 
> Segue a função caso alguém precise
> 
> CREATE OR REPLACE FUNCTION fsemacento(character varying)
> RETURNS character varying AS
> $BODY$
> SELECT TRANSLATE(upper($1), 
> 'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ', 
> 'aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC')
> $BODY$
> LANGUAGE sql VOLATILE
> COST 100;
> ALTER FUNCTION fsemacento(character varying) OWNER TO postgres;
> 
> Para usar faço o seguinte: (para buscar João, por exemplo)
> 
> SELECT * FROM TABELA
> WHERE (fsemacento(nome) = fsemacento('joao'))
> 
> Pode-se usar com Like e afins
> 
> 
> Além de ignorar os acentos ela também ignora maiusculas e minusculas
> 
> 
> ps: Pessoal, não sou expert no PG, por isso caso haja alguma coisa a 
> melhorar nesta função, sou todo ouvidos!
> 
Olá Marcelo,

Só uma observação na sua função: já que você colocou o UPPER($1) como o 
parâmetro de entrada do TRANSLATE, fica desnecessário colocar os caracteres 
minúsculos acentuados nas suas strings nos 2 parâmetros seguintes. 

Atenciosamente,

Marçal de Lima Hokama

e-mail: [email protected]


--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a