2009/10/26 Leandro DUTRA <leandro.gfc.du...@gmail.com>:
> 2009/6/3 Osvaldo Kussama <osvaldo.kuss...@gmail.com>:
>> 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%’);
>
> Muito obrigado, quebrou um galho.
>
> Pergunta idiota: qual seria a solução ideal, quero dizer, aquela que
> deveria ser implantada no PostgreSQL 8.5 e ir para o padrão ISO
> SQL:2010?
>


Olá Leandro,

Acho bem complicada tal solução.
Veja que para alguns dos encodings Latin-x existe a função to_ascii
que transforma caracteres acentuados em não acentuados, mas para utf-8
esta função não se aplica.

A questão é: o que são caracteres acentuados em línguas diferentes
daquelas representadas pelos latin-x (mas representadas no utf-8)?
Será que existe nestas línguas algum tipo de correspondência
"acentuado - não acentuado"?

Talvez algum linguista possa sugerir uma solução plausível.

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

Responder a