Em SQL, pesquisar apenas por parte de texto ou número é fundamental em muitos casos para a obtermos registros que não sabemos exatamente como está armazenado no banco de dados.
Com o SQL, é possível realizar consultas que buscam por partes específicas de um texto ou por valores numéricos dentro de um conjunto de dados, o que é essencial para a análise e extração de informações relevantes.
Para pesquisar por parte de texto em SQL, podemos usar a cláusula LIKE junto com os caracteres curinga %. O % representa qualquer sequência de caracteres (incluindo nenhum caractere).
Além da cláusula like, temos a ilike.
- LIKE é case-sensitive, ou seja, faz diferenciação entre maiúsculas e minúsculas. Portanto, ao utilizar o LIKE em uma consulta, é importante considerar que ele fará a comparação levando em conta a sensibilidade ao caso das letras.
- ILIKE é case-insensitive, o que significa que não faz distinção entre maiúsculas e minúsculas. Já o ILIKE realizará a comparação sem levar em conta a diferença entre maiúsculas e minúsculas, tornando a comparação mais flexível nesse aspecto.
o uso excessivo de
%
pode tornar a consulta menos eficiente, especialmente em grandes conjuntos de dados. Se possível, evite usar%
Dica: clique aqui para ver outros posts sobre SQL.
Exemplos de uso de “like” e “ilike” com %
Vejamos alguns exemplos:
#1 encontrar registros onde a coluna nome
começa com “Jo”:
SELECT * FROM minha_tabela WHERE nome LIKE 'Jo%';
#2 encontrar registros onde a coluna email
termina com “domain.com”:
SELECT * FROM minha_tabela WHERE email LIKE '%domain.com';
#3 encontrar registros onde a coluna descricao
contém a palavra “produto”:
SELECT * FROM sua_tabela WHERE descricao LIKE '%produto%';

Perceba que pesquisamos levando em consideração a posição do texto; pesquisamos por texto no início, no meio e final.