De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários