PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Exemple

โšก Rezumat inteligent

PostgreSQL LIKE potriveศ™te textul cu modele folosind douฤƒ caractere wildcard - semnul procent ศ™i sublinierea. Acest tutorial aratฤƒ cum se utilizeazฤƒ LIKE ศ™i NOT LIKE รฎn instrucศ›iunile SELECT, cu exemple psql ศ™i pgAdmin funcศ›ionale pentru fiecare caz.

  • ๐Ÿ” Nucleu Operator: LIKE comparฤƒ o coloanฤƒ sau o expresie cu un model wildcard ศ™i returneazฤƒ valoarea true รฎn cazul unei potriviri.
  • ๐ŸŒŸ Douฤƒ caractere wildcard: % se potriveศ™te cu zero sau mai multe caractere; _ se potriveศ™te exact cu un caracter.
  • โœ‹ Potrivire inversฤƒ: Combinaศ›i NOT cu LIKE pentru a returna rรขnduri care fac nu potriveศ™te modelul.
  • ๐Ÿ› ๏ธ Douฤƒ interfeศ›e: Executaศ›i aceleaศ™i interogฤƒri din linia de comandฤƒ psql sau grafic รฎn pgAdmin.
  • ๐ŸŽฏ Personaj de evadare: Foloseศ™te clauza ESCAPE pentru a potrivi caracterele literale % sau _ din interiorul modelului.
  • ๐Ÿค– AI Boost: Instrumentele de baze de date cu inteligenศ›ฤƒ artificialฤƒ traduc nevoile de cฤƒutare รฎn limbaj simplu รฎn modele LIKE ศ™i sugereazฤƒ ILIKE atunci cรขnd este necesarฤƒ o potrivire fฤƒrฤƒ distincศ›ie รฎntre majuscule ศ™i minuscule.

PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Exemple

PostgreSQL SIMILAR Operatorul potriveศ™te valorile textului cu modele folosind wildcard-uri. Dacฤƒ expresia de cฤƒutare se potriveศ™te cu modelul, LIKE returneazฤƒ trueCaracterele wildcard funcศ›ioneazฤƒ รฎn WHERE clauza de SELECT, UPDATE, INSERT, DELETE.

Care sunt PostgreSQL Wildcards?

PostgreSQL acceptฤƒ douฤƒ caractere wildcard LIKE:

  • Semnul procentual (%): potriveศ™te zero, unul sau mai multe caractere sau cifre.
  • Subliniere (_): se potriveศ™te cu exact un caracter sau o cifrฤƒ.

Cele douฤƒ simboluri pot fi combinate รฎn interiorul aceluiaศ™i model. Dacฤƒ se foloseศ™te LIKE fฤƒrฤƒ niciun wildcard, se comportฤƒ ca simbolul egal (=) operator.

PostgreSQL Sintaxฤƒ LIKE

Sintaxa de bazฤƒ a lui LIKE este:

expression LIKE pattern [ ESCAPE 'escape-character' ]
  • expresie โ€” o expresie de tip caracter, de obicei un nume de coloanฤƒ sau de cรขmp.
  • model โ€” o expresie de caracter care conศ›ine caractere wildcard.
  • caracter de evadare โ€” opศ›ional. Vฤƒ permite sฤƒ potriviศ›i literalul % or _ caractere. Cรขnd este omisฤƒ, bara oblicฤƒ inversatฤƒ (\) este caracterul de escape implicit.

PostgreSQL LIKE cu wildcard-ul %

% semnul se potriveศ™te cu zero, unul sau mai multe caractere. Luaศ›i รฎn considerare urmฤƒtoarele Book masa:

Tabelul Carte de mostre utilizat รฎn exemplele LIKE

Pentru a gฤƒsi cฤƒrศ›i al cฤƒror nume รฎncepe cu โ€žLearโ€, executaศ›i interogarea de mai jos.

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

Interogarea returneazฤƒ:

Rezultatul interogฤƒrii LIKE Lear% returneazฤƒ cฤƒrศ›i potrivite

Pentru a gฤƒsi cฤƒrศ›i al cฤƒror nume conศ›ine โ€ždeโ€ oriunde:

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

Interogarea returneazฤƒ:

Rezultatul interogฤƒrii LIKE %by% cu cฤƒrศ›i potrivite

PostgreSQL LIKE cu caracterul wildcard _

_ semnul se potriveศ™te cu exact un caracter. Urmฤƒtoarea interogare gฤƒseศ™te nume รฎn care primul caracter este o singurฤƒ literฤƒ, urmatฤƒ de โ€žearnโ€ ศ™i apoi orice sufix:

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

Interogarea returneazฤƒ:

Rezultatul interogฤƒrii LIKE _earn% cu potriviri de prefix cu un singur caracter

Un alt exemplu โ€” potriviศ›i orice text care se terminฤƒ cu โ€žรŽncepฤƒtorโ€ plus รฎncฤƒ un caracter:

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

Interogarea returneazฤƒ:

Rezultatul interogฤƒrii LIKE %Beginner_ se potriveศ™te cu un singur caracter final

PostgreSQL NU CA OperaTdR

Combinฤƒ LIKE cu NOT pentru a returna rรขnduri care fac nu potriveศ™te modelul. De exemplu, enumeraศ›i fiecare carte al cฤƒrei nume nu รฎncepe cu โ€žPostโ€:

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

Interogarea returneazฤƒ:

Rezultat NU CA Post% excluzรขnd cฤƒrศ›ile care รฎncep cu Post

O singurฤƒ carte รฎndeplineศ™te condiศ›ia. Acum enumeraศ›i fiecare carte al cฤƒrei nume รฎndeplineศ™te nu conศ›in cuvรขntul โ€žFabricatโ€:

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

Interogarea returneazฤƒ:

Rezultatul %Made% nu este similar cu cel al cฤƒrศ›ilor care returneazฤƒ trei cฤƒrศ›i potrivite.

Trei rรขnduri รฎndeplinesc condiศ›ia.

Utilizarea LIKE cu pgAdmin

Aceleaศ™i interogฤƒri pot fi executate grafic ศ™i รฎn instrumentul de interogare al pgAdmin.

% Wildcard รฎn pgAdmin

Pas 1) Conectaศ›i-vฤƒ la pgAdmin.

Pas 2) รŽn bara de navigare din stรขnga, faceศ›i clic pe Baze de date, apoi apasa Demo.

Arborele de navigare pgAdmin cu bazele de date ศ™i demonstraศ›ia extinse

Pas 3) Tastaศ›i interogarea รฎn Editorul de interogฤƒri:

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

Pas 4) Clic Executa.

Instrumentul de interogare pgAdmin cu butonul Executare din bara de instrumente

Panoul cu rezultate afiศ™eazฤƒ cฤƒrศ›ile corespondente:

Panoul de rezultate pgAdmin pentru interogarea LIKE Lear%.

Pentru a cฤƒuta o carte care conศ›ine โ€ždeโ€ oriunde รฎn denumire:

Pas 1) Tastaศ›i urmฤƒtoarele รฎn Editorul de interogฤƒri:

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

Pas 2) Clic Executa.

Instrumentul de interogare pgAdmin ruleazฤƒ o interogare LIKE %by%

Panoul cu rezultate aratฤƒ:

Panoul de rezultate pgAdmin pentru interogarea LIKE %by%

_ Wildcard รฎn pgAdmin

Pas 1) Conectaศ›i-vฤƒ la pgAdmin.

Pas 2) รŽn bara de navigare din stรขnga, faceศ›i clic pe Baze de date, apoi apasa Demo.

Arborele de navigare pgAdmin care prezintฤƒ arborele bazelor de date

Pas 3) Tastaศ›i interogarea รฎn Editorul de interogฤƒri:

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

Pas 4) Clic Executa.

Instrumentul de interogare pgAdmin ruleazฤƒ o interogare LIKE _earn%.

Panoul cu rezultate aratฤƒ:

Panoul de rezultate pgAdmin pentru interogarea LIKE _earn%

Pas 5) Executaศ›i al doilea exemplu:

  1. Tastaศ›i interogarea รฎn Editorul de interogฤƒri:
SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';
  1. Clic Executa.

Instrumentul de interogare pgAdmin ruleazฤƒ LIKE interogarea %Beginner_

Panoul cu rezultate aratฤƒ:

Panoul de rezultate pgAdmin pentru interogarea LIKE %Beginner_

NU CA รฎn pgAdmin

Pas 1) Conectaศ›i-vฤƒ la pgAdmin.

Pas 2) รŽn bara de navigare din stรขnga, faceศ›i clic pe Baze de date, apoi apasa Demo.

Arborele de navigare pgAdmin pentru exemplul NOT LIKE

Pas 3) Pentru a lista toate cฤƒrศ›ile al cฤƒror nume nu รฎncepe cu โ€žPostโ€, tastaศ›i:

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

Pas 4) Clic Executa.

Instrumentul de interogare pgAdmin ruleazฤƒ NU CA interogarea Post%

Panoul cu rezultate aratฤƒ:

Panoul de rezultate pgAdmin pentru interogarea NOT LIKE Post%

Detalii suplimentare despre rezultatul pgAdmin pentru interogarea NOT LIKE

Pentru a enumera cฤƒrศ›i al cฤƒror titlu nu conศ›ine cuvรขntul โ€žMadeโ€:

Pas 1) Tastaศ›i urmฤƒtoarele รฎn Editorul de interogฤƒri:

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

Pas 2) Clic Executa.

Instrumentul de interogare pgAdmin ruleazฤƒ NU CA interogarea %Made%.

Panoul cu rezultate aratฤƒ:

Panoul de rezultate pgAdmin pentru interogarea NOT LIKE %Made%

Descฤƒrcaศ›i baza de date utilizatฤƒ รฎn acest tutorial.

รŽntrebฤƒri frecvente

LIKE ศ›ine cont de majuscule ศ™i minuscule, รฎn timp ce ILIKE efectueazฤƒ potriviri fฤƒrฤƒ a ศ›ine cont de majuscule ศ™i minuscule. ILIKE este un PostgreSQL extensie. De exemplu, numele ILIKE โ€žlear%โ€ se potriveศ™te cu โ€žLearnโ€ ศ™i โ€žLEARโ€ รฎn mod egal. Folosiศ›i ILIKE atunci cรขnd majusculele/minusculele introduse de utilizator sunt imprevizibile.

Folosiศ›i clauza ESCAPE pentru a declara un caracter de escape, apoi adฤƒugaศ›i prefixul wildcard-ului literal. De exemplu, codul WHERE LIKE '50!%%' ESCAPE '!' gฤƒseศ™te valori care รฎncep cu โ€ž50%โ€ deoarece semnul exclamฤƒrii este ocolit de semnul procent.

Foloseศ™te LIKE pentru potriviri simple de prefixe, sufixe sau subศ™iruri. Treci la expresia regulatฤƒ POSIX (~ ศ™i ~*) atunci cรขnd ai nevoie de clase de caractere, alternanศ›ฤƒ sau cuantificatori. Expresia regulatฤƒ este mai puternicฤƒ, dar de obicei mai lentฤƒ decรขt LIKE pentru modelele de bazฤƒ.

Da. AI Asistenศ›ii, cum ar fi copiloศ›ii text-to-SQL, traduc solicitฤƒri precum โ€žgฤƒseศ™te clienศ›i a cฤƒror adresฤƒ de e-mail conศ›ine acmeโ€ รฎn nume LIKE โ€ž%acme%โ€ ศ™i explicฤƒ logica wildcard, accelerรขnd raportarea ad-hoc.

Inteligenศ›a artificialฤƒ generativฤƒ inspecteazฤƒ planul de interogare, recomandฤƒ un index de trigrame (pg_trgm) pentru cฤƒutฤƒrile LIKE cu wildcard-uri principale ศ™i rescrie modelele care รฎmpiedicฤƒ utilizarea indexului. Aceasta transformฤƒ scanฤƒrile complete ale tabelelor รฎn cฤƒutฤƒri de milisecunde pe cรขmpuri mari. PostgreSQL tabele.

Rezumaศ›i aceastฤƒ postare cu: