PostgreSQL: Operador iLike e busca case sensitive

Leitores!

A partir desta semana também irei abordar alguns temas sobre o PostgreSQL, pra quem não sabe ele é um dos SGBDs mais robustos do mercado e totalmente FREE!

Aqui onde eu trabalho nós estamos utilizando ele, sem nenhum problema, e de fato eu posso afirmar que é um banco muito bom.

Mas dando atenção ao tema principal do post, muitas vezes quando vamos implementar algum sistema de busca utilizamos largamente o operador LIKE do SQL, veja o exemplo:

SELECT nome FROM cidades WHERE nome LIKE '%ribeirão%'

O “problema” é que o PostgreSQL é case sensitive, ou seja, ele diferencia letras maiúsculas de minúsculas, então eu já vi desenvolvedores que faziam o seguinte:

1) Ou gravavam tudo em upper-case no banco de dados (tudo escrito em maiúscula)

2) Ou usaram a função UPPER que converte as String para maiúsculo, e assim realizar a compração

3) Ou faziam os dois hehe

Bem, minha simples sugestão para você, que está desenvolvendo algum aplicativo com o PostgreSQL é: use o operador ILIKE, repare que ele tem um “i”, que quer dizer que ele é case-insensitive, ou seja, tanto faz como for a entrada no sistema, tanto faz como estiver gravado, ele irá ler: “TESTE” como se fosse “teste”.

A implementação é identica ao do LIKE comum, veja:

SELECT nome FROM cidades WHERE nome iLIKE '%ribeirão%'

Assim seu código fica mais fácil, mais leve e mais bonito =)

Referências:

Abraços,

Tiago.

Publicado por

Prof. Me. Tiago A. Silva

Prof. Me. Tiago A. Silva

Mestre em Tecnologia (UNICAMP, 2018), Licenciado em Computação e Pedagogia (Claretiano, 2017 e 2018, respectivamente), Especialista em Desenvolvimento de Software para Web com ênfase em Java (UNIFEG, 2015), Especialista em Educação a Distância (FACEL, 2017) e Tecnólogo em Informática para Gestão de Negócios (FATEC Mococa, 2010). Atualmente sou Professor no Ensino Técnico no Centro Paula Souza. Já atuei como Professor no Ensino Superior no Centro Universitário Moura Lacerda (2017), Programador de Sistemas na Prefeitura de Cajuru (2014-2017), além de possuir 11 anos de experiência em desenvolvimento web trabalhando com diversas ferramentas e frameworks.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *