Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

19 de abril de 2018

SQL: Collate, ignorando acentos


     Na dica de hoje vou mostrar um comando SQL do qual eu precisei utilizar alguns dias atrás.

 
     Vamos imaginar a seguinte situação, você tem um cadastro de clientes e deseja filtrar alguns clientes pelo bairro onde ele mora. Até aí teríamos um select bem simples selecionando os clientes quando o bairro contiver as palavras digitadas, "SELECT * FROM CLIENTES WHERE BAIRRO LIKE '%Texto%', mas e para bairros que contenham acento, vamos fazer o usuário pesquisar duas vezes, uma digitando com acento e outra sem o acento para poder localizar o cliente correto? E maiúsculas e minúsculas? Muitas vezes isso não é interessante, aí que entra o tal do COLLATE.

 
     Retomando o select do exemplo acima teríamos apenas que adicionar "COLLATE SQL_Latin1_General_CP1_CI_AI", ou seja, ficaria "SELECT * FROM CLIENTES WHERE BAIRRO LIKE '%Texto%' COLLATE SQL_Latin1_General_CP1_CI_AI", com isso estamos ignorando acentos e diferenças entre letras maiúsculas e minúsculas.

0 comentários:

Postar um comentário