O operador PostgreSQL LIKE nos ajuda a comparar valores de texto com padrões usando curingas. É possível combinar a expressão de pesquisa com a expressão padrão.
Se ocorrer uma correspondência, o operador LIKE retorna verdadeiro. Com a ajuda do operador LIKE, é possível usar curingas na cláusula WHERE das instruções SELECT, UPDATE, INSERT ou DELETE.
Neste Tutorial do PostgreSQL, você aprenderá o seguinte:
- Cartas selvagens
- Sintaxe
- Usando% curinga
- Usando _ curinga
- Usando o operador NOT
- Usando o pgAdmin
Cartas selvagens
Existem apenas dois curingas que podem ser usados junto com
- Sinal de porcentagem (%)
- Sublinhado (_)
O sinal de porcentagem (%) é usado para representar zero, um ou muitos caracteres ou números.
O caractere curinga de sublinhado (_) é usado para representar um caractere ou número. Esses símbolos também podem ser combinados. Se o operador LIKE não for usado junto com esses dois sinais, ele atuará como o operador de igual.
Sintaxe
Esta é a sintaxe do operador LIKE:
expression LIKE pattern [ ESCAPE 'escape-character' ]
A expressão é uma expressão de caractere como uma coluna ou campo.
O padrão é uma expressão de caractere com correspondência de padrão.
O caractere de escape é um parâmetro opcional. Ele permite o teste de instâncias literais de caracteres curinga, como% e _. Se não for fornecido, o \ será usado como o caractere de escape.
Usando% curinga
Como afirmamos anteriormente, o sinal% corresponde a zero, um ou mais caracteres ou números. Considere a seguinte tabela:
Livro:
Queremos o livro cujo nome é como "Lear
… "Para obter esse resultado, podemos executar o seguinte comando:SELECT *FROMBookWHEREname LIKE 'Lear%';
Isso retornará o seguinte:
O livro foi encontrado.
Vamos pesquisar um livro "por" em seu nome:
SELECT *FROMBookWHEREname LIKE '%by%';
Isso retornará o seguinte:
Usando _ curinga
Como afirmamos anteriormente, o sinal _ representa um caractere ou número. Ele pode ser usado conforme mostrado abaixo:
SELECT *FROMBookWHEREname LIKE '_earn%';
Isso retorna o seguinte:
Aqui está outro exemplo:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
Isso retorna o seguinte:
Usando o operador NOT
Quando o operador LIKE é combinado com o operador NOT, qualquer linha que não corresponda ao padrão de pesquisa é retornada. Por exemplo, para ver um livro cujo nome não começa com "post", podemos executar o seguinte comando:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Isso retorna o seguinte:
Apenas um livro atendeu à condição de pesquisa. Vamos ver a lista de nomes de livros que não possuem a palavra "Feito":
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Isso retorna o seguinte:
3 linhas atenderam à condição de pesquisa.
Usando o pgAdmin
Agora vamos ver como as ações podem ser realizadas usando o pgAdmin.
Usando% curinga
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Digite a consulta no editor de consultas:
SELECT *FROMBookWHEREname LIKE 'Lear%';
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Para pesquisar um livro "por" em seu nome:
Etapa 1) Digite o seguinte comando no editor de consultas:
SELECT *FROMBookWHEREname LIKE '%by%';
Etapa 2) Clique no botão Executar.
Ele deve retornar o seguinte:
Usando _ curinga
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Digite a consulta no editor de consultas:
SELECT *FROMBookWHEREname LIKE '_earn%';
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Etapa 5) Para executar o segundo exemplo:
- Digite a seguinte consulta no editor de consultas:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- Clique no botão Executar.
Ele deve retornar o seguinte:
Usando o operador NOT
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Para ver todos os livros cujos nomes não começam com "Post", digite a consulta no editor de consultas:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Para ver a lista de livros cujos nomes não contêm a palavra "Feito":
Etapa 1) Digite a seguinte consulta no editor de consultas:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Etapa 2) Clique no botão Executar.
Ele deve retornar o seguinte:
Resumo:
- O PostgreSQL LIKE é usado para comparar valores de texto com padrões usando curingas.
- A cláusula LIKE nos permite usar curingas nas instruções SELECT, UPDATE, INSERT ou DELETE.
- O curinga% corresponde a um ou mais valores. Os valores podem ser números ou caracteres.
- O caractere curinga _ corresponde exatamente a um valor. O valor pode ser um caractere ou um número.
- O operador LIKE pode ser combinado com o operador NOT para retornar qualquer linha que não corresponda ao padrão de pesquisa.
Baixe o banco de dados usado neste tutorial