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

โšก Resumo Inteligente

PostgreSQL O operador LIKE compara texto com padrรตes usando dois caracteres curinga: o sinal de porcentagem e o sublinhado. Este tutorial mostra como usar LIKE e NOT LIKE em instruรงรตes SELECT, com exemplos prรกticos em psql e pgAdmin para cada caso.

  • ๐Ÿ” Setores de Operator: A funรงรฃo LIKE compara uma coluna ou expressรฃo com um padrรฃo curinga e retorna verdadeiro em caso de correspondรชncia.
  • ???? Dois curingas: % Corresponde a zero ou mais caracteres; _ corresponde exatamente a um caractere.
  • โœ‹ Correspondรชncia inversa: Combine NOT com LIKE para retornar as linhas que... nรฃo Combine com o padrรฃo.
  • ๐Ÿ› ๏ธ Duas interfaces: Execute as mesmas consultas a partir da linha de comando do psql ou graficamente dentro do pgAdmin.
  • ๐ŸŽฏ Personagem de fuga: Use a clรกusula ESCAPE para corresponder aos caracteres literais % ou _ dentro do padrรฃo.
  • ๐Ÿค– Aumento de IA: As ferramentas de banco de dados com IA traduzem as necessidades de pesquisa em linguagem natural em padrรตes LIKE e sugerem ILIKE quando รฉ necessรกria uma correspondรชncia que nรฃo diferencie maiรบsculas de minรบsculas.

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

O PostgreSQL COMO O operador LIKE compara valores de texto com padrรตes usando caracteres curinga. Se a expressรฃo de pesquisa corresponder ao padrรฃo, LIKE retorna trueOs curingas funcionam no WHERE clรกusula de SELECT, UPDATE, INSERT, ou DELETE.

Quais sรฃo PostgreSQL Curingas?

PostgreSQL Suporta dois curingas LIKE:

  • Sinal de porcentagem (%): Corresponde a zero, um ou vรกrios caracteres ou dรญgitos.
  • Sublinhado (_): corresponde exatamente a um caractere ou dรญgito.

Os dois sรญmbolos podem ser combinados dentro do mesmo padrรฃo. Se LIKE for usado sem nenhum dos curingas, ele se comporta como o sinal de igual (=) operador.

PostgreSQL Sintaxe LIKE

A sintaxe bรกsica do mรฉtodo LIKE รฉ:

expression LIKE pattern [ ESCAPE 'escape-character' ]
  • expressรฃo โ€” uma expressรฃo de caractere, geralmente um nome de coluna ou campo.
  • de cinto de seguranรงa โ€” uma expressรฃo de caracteres que contรฉm curingas.
  • personagem de escape โ€” opcional. Permite que vocรช encontre correspondรชncias literais. % or _ caracteres. Quando omitida, a barra invertida (\) รฉ o caractere de escape padrรฃo.

PostgreSQL CURTIR com o caractere curinga %

O % O sinal corresponde a zero, um ou mais caracteres. Considere o seguinte: Book tabela:

Tabela de amostra do livro usada nos exemplos LIKE

Para encontrar livros cujos tรญtulos comecem com "Lear", execute a consulta abaixo.

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

A consulta retorna:

Como Lear% resultado da consulta que retorna livros correspondentes

Para encontrar livros cujos tรญtulos contenham a palavra โ€œporโ€ em qualquer lugar:

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

A consulta retorna:

Resultado da consulta LIKE %by% com livros correspondentes

PostgreSQL CURTIR com o caractere curinga _

O _ O sinal corresponde exatamente a um caractere. A consulta a seguir encontra nomes em que o primeiro caractere รฉ qualquer letra, seguido por โ€œearnโ€ e, em seguida, qualquer sufixo:

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

A consulta retorna:

O resultado da consulta LIKE _earn% com prefixo de um รบnico caractere corresponde a

Outro exemplo: encontre qualquer texto que termine com โ€œBeginnerโ€ mais um caractere:

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

A consulta retorna:

Como o resultado da consulta %Beginner_ que corresponde ao caractere รบnico final

PostgreSQL NรƒO PARECE Operator

Combine LIKE com NOT para retornar as linhas que... nรฃo Repare no padrรฃo. Por exemplo, liste todos os livros cujos nomes nรฃo comeรงam com "Post":

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

A consulta retorna:

NรƒO COMO o resultado da postagem% excluindo livros que comeรงam com a postagem

Apenas um livro satisfaz a condiรงรฃo. Agora, liste todos os livros cujos nomes... nรฃo contรชm a palavra โ€œFeitoโ€:

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

A consulta retorna:

NรƒO COMO %Made% resultou em trรชs livros correspondentes

Trรชs linhas satisfazem a condiรงรฃo.

Usando o mรฉtodo LIKE com pgAdmin

As mesmas consultas tambรฉm podem ser executadas graficamente na Ferramenta de Consulta do pgAdmin.

% Caractere curinga no pgAdmin

Passo 1) Faรงa login no pgAdmin.

Passo 2) Na barra de navegaรงรฃo ร  esquerda, clique em Bases de dados, entรฃo clique Demo.

รrvore de navegaรงรฃo do pgAdmin com Bancos de Dados e Demonstraรงรฃo expandidos

Passo 3) Digite a consulta no Editor de Consultas:

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

Passo 4) Clique Execute.

Ferramenta de consulta do pgAdmin com o botรฃo Executar na barra de ferramentas.

O painel de resultados mostra os livros correspondentes:

Painel de resultados do pgAdmin para consulta LIKE Lear%

Para pesquisar um livro que contenha a palavra โ€œporโ€ em qualquer parte do tรญtulo:

Passo 1) Digite o seguinte no Editor de Consultas:

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

Passo 2) Clique Execute.

Ferramenta de consulta do pgAdmin executando consulta LIKE %by%

O painel de resultados mostra:

Painel de resultados do pgAdmin para consulta LIKE %by%

_ Caractere curinga no pgAdmin

Passo 1) Faรงa login no pgAdmin.

Passo 2) Na barra de navegaรงรฃo ร  esquerda, clique em Bases de dados, entรฃo clique Demo.

รrvore de navegaรงรฃo do pgAdmin mostrando a รกrvore de Bancos de Dados

Passo 3) Digite a consulta no Editor de Consultas:

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

Passo 4) Clique Execute.

Ferramenta de consulta pgAdmin executando consulta LIKE _earn%

O painel de resultados mostra:

Painel de resultados do pgAdmin para a consulta LIKE _earn%

Passo 5) Execute o segundo exemplo:

  1. Digite a consulta no Editor de Consultas:
SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';
  1. Clique Execute.

Ferramenta de consulta pgAdmin em execuรงรฃo LIKE %Beginner_query

O painel de resultados mostra:

Painel de resultados do pgAdmin para consulta LIKE %Beginner_

DIFERENTE do pgAdmin

Passo 1) Faรงa login no pgAdmin.

Passo 2) Na barra de navegaรงรฃo ร  esquerda, clique em Bases de dados, entรฃo clique Demo.

รrvore de navegaรงรฃo do pgAdmin para exemplo de "NรƒO GOSTEI"

Passo 3) Para listar todos os livros cujos nomes nรฃo comeรงam com โ€œPostโ€, digite:

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

Passo 4) Clique Execute.

A ferramenta de consulta do pgAdmin NรƒO estรก sendo executada como a consulta Post%

O painel de resultados mostra:

Painel de resultados do pgAdmin para a consulta NOT LIKE Post%.

Detalhes adicionais do resultado do pgAdmin para a consulta NOT LIKE

Para listar os livros cujos tรญtulos nรฃo contรชm a palavra "Made":

Passo 1) Digite o seguinte no Editor de Consultas:

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

Passo 2) Clique Execute.

A ferramenta de consulta do pgAdmin estรก sendo executada de forma diferente da consulta %Made%.

O painel de resultados mostra:

Painel de resultados do pgAdmin para a consulta NOT LIKE %Made%

Baixe o banco de dados usado neste tutorial..

Perguntas Frequentes

O operador LIKE diferencia maiรบsculas de minรบsculas, enquanto o operador ILIKE realiza a correspondรชncia sem diferenciar maiรบsculas de minรบsculas. ILIKE รฉ um PostgreSQL extensรฃo. Por exemplo, o nome ILIKE 'lear%' corresponde tanto a โ€œLearnโ€ quanto a โ€œLEARโ€. Use ILIKE quando a capitalizaรงรฃo da entrada do usuรกrio for imprevisรญvel.

Use a clรกusula ESCAPE para declarar um caractere de escape e, em seguida, adicione o caractere curinga literal como prefixo. Por exemplo, WHERE code LIKE '50!%%' ESCAPE '!' encontra valores que comeรงam com โ€œ50%โ€ porque o ponto de exclamaรงรฃo escapa o sinal de porcentagem.

Use LIKE para correspondรชncias simples de prefixo, sufixo ou substring. Recorra a expressรตes regulares POSIX (~ e ~*) quando precisar de classes de caracteres, alternรขncia ou quantificadores. Expressรตes regulares sรฃo mais poderosas, mas geralmente mais lentas que LIKE para padrรตes bรกsicos.

Sim. Travas deslizantes portรกteis AI Assistentes como os copilotos de texto para SQL traduzem instruรงรตes como "encontrar clientes cujo e-mail contenha 'acme'" para o formato `name LIKE '%acme%'` e explicam a lรณgica do caractere curinga, acelerando a geraรงรฃo de relatรณrios ad-hoc.

A IA generativa inspeciona o plano de consulta, recomenda um รญndice de trigramas (pg_trgm) para pesquisas LIKE com curingas iniciais e reescreve padrรตes que impedem o uso do รญndice. Isso transforma varreduras completas da tabela em buscas em milissegundos em tabelas grandes. PostgreSQL tabelas.

Resuma esta postagem com: