Como ignorar a acentuação ao consultar dados no Sql Server?
Vou ser rápido. Mas esse problema ocorre porque a muitas vezes a colecção do Sql Server definida é a Accent Sensitive (AS), por isso ele procurará a expressão exacta, incluindo as acentos.Solução
SELECT * FROM Produto WHERE Nome like '%pao%' COLLATE Latin1_general_CI_AI
Na consulta acima a expressão Latin1_general_CI_AIpode ser dividido nas seguintes partes:
- Latin1 - faz o servidor tratar strings usando charset latin 1, ou seja, o ascii.
- CI - especifica maiúsculas e minúsculas, portanto, "ABC" é igual a "abc".
- AI - especifica insensível à acentuação, então "ãó" é igual a "ao".