Olá,

Uma alternativa poderia ser:

select * from teste;

nome
------
 João
 Joao
 JOÃO
 joão

select * from teste where to_ascii(nome) ilike to_ascii('%joão');

postgres01=# select * from teste where to_ascii(nome) ilike
to_ascii('%joão');
 nome
------
 João
 Joao
 JOÃO
 joão
(4 registros)

Foi a mais rápida que pensei!

[]s


2008/1/25, Silfar Goulart de Castro <[EMAIL PROTECTED]>:
>
> Gente isso resolve o problema do maiusculo e minusculo com consulta
> parcial, mas e palavras acentuadas ?
>
> André Volpato escreveu:
> > Silfar Goulart de Castro escreveu:
> >
> >> No PG tem o LIKE O ILIKE e o tal de ~~*    , em termos desempenho como
> >> devo fazer ? Eu quero uma consulta parcial tipo o cara digita algumas
> >> letras e que que traga todos os registros que comecem com aquela
> string,
> >> e tem que ser case insentive.
> >>
> >>
> >
> > Nos meus testes aqui o LIKE sempre ganhou das expressões regulares
> > (operador ~).
> > Aconselho você fazer os testes com EXPLAIN ANALYZE e ver o que é melhor
> > pro teu caso.
> > Evite também fazer muitas consultas, aguarde até você tenha pelo menos
> > uns 3 caracteres pra busca.
> >
> >
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a