Codificando .Net

Aprendizado, companherismo, ensino e aperfeiçoamento constante

Eu tenho um banco de dados onde as informações de alimentos estão todas acentuadas.

Exemplo:
Requeijão
Açaí
etc
etc
etc

Só que o pessoal queria buscar por acai, requeijao e que encontrasse o alimento... ai busquei e encontrei mtas soluções toscas... e achei uma solução mais do que simples no próprio SQL.

WHERE Alimento.nome_alimento collate SQL_Latin1_General_CP850_CI_AI LIKE '%' + @busca + '%'

Pronto! Solucionado :) sem perder performance.

[]'s

Exibições: 794

Comentário de Diego Nogare em 14 janeiro 2009 às 11:11
Só pra complementar o que o Tarifa escreveu, a solução foi alterar o collate da coluna somente na hora da busca.

O COLLATE é o "reconhecimento" (ou definição) dos caracteres do banco de dados como um todo, ou de uma coluna específica. Por exemplo, normalmente usamos aqui no Brasil um collate genérico para América Latina, que reconhece e aceita acentos. Se usar um collate compativel com Chinês, será possível gravar os ideogramas em banco. Se usar um em Árabe, dá pra gravar aquelas "cobrinhas". E assim por diante...
Comentário de Ellen em 14 janeiro 2009 às 21:38
Parabens Tarifa, isso realmente eh muito ultil e esse complemento do Diego tambem, muito importante.

Comentar

Você precisa ser um membro de Codificando .Net para adicionar comentários!

Entrar em Codificando .Net

Patrocínios

 

 

Comunidade Daruma 

Editora O'Reilly 

 

© 2013   Criado por Alexandre Tarifa.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço