May 19 2007
Case-insensitive em PostgreSQL
Hoje vamos falar de comparação de strings no PostgreSQL. Especificamente sobre a sensibilidade a caixa(maiúsculas e minúsculas), o que um grande empecilho à criação de sistemas de busca.
Este também foi outro grande problema que eu enfrentei. O operador LIKE é case-sensitive(sensivel a maiúsculas e minúsculas).
A solução foi simples e rápida. Existe um operador chamado ILIKE, o qual é case-insensitive.
Exemplo:
SELECT nome FROM empregado WHERE nome ILIKE 'vinicius';
O código acima retorna todos os registros onde o nome seja ‘vinicius’, ‘Vinicius’, ‘ViNiCiUs’, etc.
A sensibilidade à acentuação é um pouco mais complicada então vamos deixar para um próximo post.
Espero ter ajudado.
