Como consultar desconsiderando acentuação?
04/08/2011 09:59
1
Olá pessoal, estou com um problema no sistema grails que faço manutenção. O cliente pediu para quando for fazer uma pesquisa no sistema por Fabio, por exemplo, encontre todas as pessoas com nome de Fabio e Fábio.

Eu já consegui fazer uma função que remova toda a acentuação da palavra, mas não sei como fazer para buscar sem acento e achar o nome com acento.

Alguém tem idéia de como resolver isso?
Tags: acento, acentuação


1
Isso é mais com o banco de dados. Você tem que colocar no campo da tabela um collate que seja accent insensitive.

Se o banco for MySql, troca o collate por algum que termine com _ci, que são os case e accent insensitives.
05/08/2011 16:21


1
Resolvi o problema. Descobri que no Microsoft Sql Server tem um comando chamado COLLATE SQL_Latin1_General_CP1_CI_AI que desconsidera acentos e não é case sensitive.

Exemplo

select p.id, p.nome
from pessoa as p
where p.nome COLLATE SQL_Latin1_General_CP1_CI_AI like 'Henrique Lobo%'
23/08/2011 15:28



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto