T-SQL coincidir com caracteres especiais. Pré deve corresponder Pré
-
16-09-2019 - |
Pergunta
Eu tenho uma lista de nomes de empresa e o usuário tem que digitar o seu nome da empresa para entrar no sistema. Vamos dizer que temos a empresa "Pré ABC", agora eu quero que o usuário seja capaz de escrever "Pre" ou "pré".
Primeiro eu pensei que esta era build-in funcionalidade da instrução LIKE, mas infelizmente não é. Quaisquer pensamentos?
Solução
Isto tem a ver com o agrupamento. Cada banco de dados tem seu próprio agrupamento (e qualquer coluna pode substituir esse agrupamento, também). No seu caso, você está procurando um agrupamento que não é sensível ao sotaque, e não diferencia maiúsculas de minúsculas. Tente configurar o banco de dados "SQL_Latin1_General_CP1_CI_AI
". Que decodifica como "página de código 1, case-insensitive, acento-insensitive", que deve fazer a sua consultas trabalho como desejado.
Outras dicas
SELECT 1
WHERE N'Pré ABC' COLLATE LATIN1_GENERAL_CI_AI LIKE N'%Pre%'