PostgreSQL Exemplos de LIKE, Not Like, Wildcards (%, _)


A PostgreSQL O operador LIKE nos ajuda a combinar valores de texto com padrões usando curingas. É possível combinar a expressão de pesquisa com a expressão de padrão.

Se ocorrer uma correspondência, o operador LIKE retornará verdadeiro. Com a ajuda do operador LIKE, é possível usar curingas na cláusula WHERE das instruções SELECT, UPDATE, INSERT ou DELETE.

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 curinga 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 igual.

Sintaxe

Aqui está 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ões.

O caractere de escape é um parâmetro opcional. Ele permite testar instâncias literais de caracteres curinga, como% e _. Se não for fornecido, o \ será usado como 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:

Usando% curinga

Queremos que o livro cujo nome é “Lear…” obtenha esse resultado, podemos executar o seguinte comando:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Isso retornará o seguinte:

Usando% curinga

O livro foi encontrado.

Vamos procurar um livro “por” em seu nome:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Isso retornará o seguinte:

Usando% curinga

Usando _ curinga

Como afirmamos anteriormente, o sinal _ representa um caractere ou número. Ele pode ser usado conforme mostrado abaixo:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Isso retorna o seguinte:

Usando _ curinga

Aqui está outro exemplo:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Isso retorna o seguinte:

Usando _ curinga

Usando NÃO Operator

Quando o operador LIKE é combinado com o operador NOT, qualquer linha que não corresponda ao padrão de pesquisa será retornada. Por exemplo, para ver um livro cujo nome não começa com “post”, podemos executar o seguinte comando:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Isso retorna o seguinte:

Usando NÃO Operator

Apenas um livro atendeu à condição de pesquisa. Vejamos a lista de nomes de livros que não possuem a palavra “Made”:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Isso retorna o seguinte:

Usando NÃO Operator

3 linhas atenderam à condição de pesquisa.

Usando pgAdmin

Agora vamos ver como as ações podem ser realizadas usando o pgAdmin.

Usando% curinga

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Usando pgAdmin com% curinga

Passo 3) Digite a consulta no editor de consultas:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Passo 4) Clique no botão Executar.

Usando pgAdmin com% curinga

Deve retornar o seguinte:

Usando pgAdmin com% curinga

Para procurar um livro “por” em seu nome:

Passo 1) Digite o seguinte comando no editor de consultas:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Passo 2) Clique no botão Executar.

Usando pgAdmin com% curinga

Deve retornar o seguinte:

Usando pgAdmin com% curinga

Usando _ curinga

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Usando pgAdmin com _ curinga

Passo 3) Digite a consulta no editor de consultas:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Passo 4) Clique no botão Executar.

Usando pgAdmin com _ curinga

Deve retornar o seguinte:

Usando pgAdmin com _ curinga

Passo 5) Para executar o segundo exemplo:

  1. Digite a seguinte consulta no editor de consultas:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Clique no botão Executar.

Usando pgAdmin com _ curinga

Deve retornar o seguinte:

Usando pgAdmin com _ curinga

Usando NÃO Operator

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Usando NÃO Operator no pgAdmin

Passo 3) Para ver todos os livros cujos nomes não começam com “Postagem”, digite a consulta no editor de consultas:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Passo 4) Clique no botão Executar.

Usando NÃO Operator no pgAdmin

Deve retornar o seguinte:

Usando NÃO Operator no pgAdmin

Usando NÃO Operator no pgAdmin

Para ver a lista de livros cujos nomes não possuem a palavra “Made”:

Passo 1) Digite a seguinte consulta no editor de consultas:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Passo 2) Clique no botão Executar.

Usando NÃO Operator no pgAdmin

Deve retornar o seguinte:

Usando NÃO Operator no pgAdmin

Resumo

  • A PostgreSQL LIKE é usado para combinar valores de texto com padrões usando curingas.
  • A cláusula LIKE nos permite usar curingas em SELECIONE, UPDATE, INSERT ou DELETE.
  • O curinga % corresponde a um ou mais valores. Os valores podem ser números ou caracteres.
  • O 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

Saiba Mais Leia mais