você está aqui: Home → Arquivo de Mensagens
Colaboração: Walter Rodrigo de Sá Cruz
Data de Publicação: 29 de Dezembro de 2006
Uma necessidade comum a desenvolvedores é fazer suas buscas no bancos de dados insensível a caso e insensível a acentos.
No Postgres, uma das formas de fazer uma consulta desse tipo é a seguinte:
SELECT nomemunic FROM tab_municipios WHERE lower(to_ascii(nomemunic)) like lower(to_ascii('%Paulo%'))
Que buscará todos os nomes de município que tenham a palavra Paulo neles.
Observe que poderíamos fazer até uma salada de acentos e maíusculas - o resultado seria o mesmo.
SELECT nomemunic FROM tab_municipios WHERE lower(to_ascii(nomemunic)) like lower(to_ascii('%PáuLô%'))
No MySQL, até a versão 4.0, as consultas eram por padrão case-insensitive e accent-insensitive. Isso mudou, porém, a partir da versão 4.1, que introduziu um suporte melhorado a collations e charsets.
A partir dessa versão, a sintaxe para uma consulta que ignora acentos e o caso seria a seguinte:
SELECT * FROM `tab_municipios` WHERE `NomeMunic` = _utf8 'SAO PAULO' COLLATE utf8_unicode_ci