Pelo JPA tem como usar Query Native, quando precisar alguma função do 
banco use ela...

Adriano

Leandro Müller escreveu:
> Obrigado turma.
>
> Deu certo aqui, porem devido toda a aplicação trabalhar com JPA (Java)
> teremos que modificar os sistemas envolvidos para trabalhar direto com SQL
> chamando a função.
>
> Obrigado Osvaldo.
>
>
> At.
>
> Leandro Müller
> Analista de Sistemas 
>
>
>
>
>
> -----Mensagem original-----
> De: pgbr-geral-boun...@listas.postgresql.org.br
> [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Osvaldo
> Kussama
> Enviada em: quarta-feira, 3 de junho de 2009 16:27
> Para: Comunidade PostgreSQL Brasileira
> Assunto: Re: [pgbr-geral] problema com acentos no UTF8
>
> 2009/6/3 Leandro Müller <leandr...@muriki.com.br>:
>   
>> Sou novo nesta lista, nesses últimos meses estou migrando uma base de
>>     
> dados
>   
>> de 4gb para postgresql 8.3.7, utilizávamos mysql na empresa, mas ficou
>>     
> muito
>   
>> lento devido a complexidade de relatórios e diversos recursos que
>>     
> precisamos
>   
>> agora.
>>     
>
> Seja bem vindo!
>
>
>   
>> Bom o único problema que tivemos com o banco de dados é quanto a pesquisa
>> com ilike em palavras com acentos.
>>
>> Exemplo:
>>
>> Select nome from cliente where nome ilike ‘joao%’;
>>
>> O João não lista, fiz testes com a versão 8.4 e o mesmo ocorre, esse banco
>> esta na codificação UTF8
>>     
>
> Sim João é diferente de Joao e também diferente de joão, JOÃO e joao.
>
>
>   
>> Tentei criar um banco como latin1 porem o post não aceita criar.
>>     
>
> Você não pode mudar mas ele aceita criar (vide initdb) mas tem que ser
> compatível com o locale de seu S.O.
>
>
>   
>> Alguém tem idéia de que tipo configuração devo fazer para fazer pesquisas
>> com acento?
>>
>>     
>
> Quando o encoding é LATIN1, LATIN2, LATIN9 ou WIN1250 podemos usar a
> função to_ascii:
> http://www.postgresql.org/docs/current/interactive/functions-string.html
>
> Quando se utiliza o UTF8 o pessoal tem utilizado uma função de
> conversão como esta:
>
> CREATE FUNCTION sem_acento(text) RETURNS text  AS $$
>     SELECT translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',
>                         'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC');
> $$
> LANGUAGE sql IMMUTABLE STRICT;
>
> Ficaria assim:
> SELECT nome FROM cliente WHERE sem_acento(nome) ilike sem_acento(‘joao%’);
>
> Caso faça uso intensivo desta query considere a criação de um índice
> funcional para melhorar a performance.
>
> Osvaldo
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>   
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a