PostgreSQL LIKE, Not Like, Metamärgid (%, _ ) Näited

⚡ Nutikas kokkuvõte

PostgreSQL LIKE leiab teksti mustritega vasteid kahe metamärgi – protsendimärgi ja alakriipsu – abil. See õpetus näitab, kuidas kasutada LIKE'i ja NOT LIKE'i SELECT-lausetes, tuues iga juhtumi jaoks näiteid töötatud psql-ist ja pgAdminitest.

  • 🔍 tuum Operator: Funktsioon LIKE võrdleb veergu või avaldist metamärgimustriga ja tagastab vaste korral väärtuse tõene.
  • 🌟 Kaks metamärki: % sobib null või enam tähemärki; _ sobib täpselt ühe tähemärgiga.
  • Pöördvaste: Kombineeri NOT ja LIKE, et tagastada read, mis ei vasta tõele mitte sobita mustriga.
  • 🛠️ Kaks liidest: Käivita samad päringud psql käsurealt või graafiliselt pgAdminis.
  • 🎯 Põgenemistegelane: Mustri sees olevate literaalide % või _ märkide vastendamiseks kasutage ESCAPE-klauslit.
  • 🤖 Tehisintellekti võimendus: Tehisintellekti andmebaasitööriistad tõlgivad lihtkeelsed otsinguvajadused LIKE-mustriteks ja pakuvad ILIKE-mustreid, kui on vaja tõstu- ja väiketähti mittetundeva vastet.

PostgreSQL LIKE, Not Like, Metamärgid (%, _ ) Näited

. PostgreSQL SAMASUGUNE operaator sobitab tekstiväärtusi mustritega metamärkide abil. Kui otsinguavaldis vastab mustrile, tagastab LIKE väärtuse. trueMetamärgid toimivad WHERE klausel SELECT, UPDATE, INSERTvõi DELETE.

Mis on PostgreSQL Metamärgid?

PostgreSQL toetab kahte LIKE metamärki:

  • Protsendimärk (%): sobib nulli, ühe või mitme tähemärgi või numbriga.
  • Allajoon (_): vastab täpselt ühele tähemärgile või numbrile.

Neid kahte sümbolit saab sama mustri sees kombineerida. Kui LIKE-i kasutatakse ilma kummagi metamärgita, käitub see nagu võrdusmärk (=) operaator.

PostgreSQL LIKE süntaks

LIKE'i põhisüntaks on:

expression LIKE pattern [ ESCAPE 'escape-character' ]
  • väljend — märgiavaldis, tavaliselt veeru- või väljanimi.
  • muster — metamärke sisaldav märgiavaldis.
  • põgenemiskarakter — valikuline. Võimaldab leida literaali vastet % or _ tähemärke. Kui kaldkriips ( puudub\) on vaikimisi kasutatav põgenemismärk.

PostgreSQL NAGU % metamärgiga

. % märk vastab nullile, ühele või enamale tähemärgile. Vaatleme järgmist Book tabelis:

Näidisraamatute tabel, mida kasutati LIKE näidetes

Raamatute leidmiseks, mille nimi algab tähtedega „Lear”, käivitage allolev päring.

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

Päring tagastab:

LIKE Lear% päringu tulemus, mis annab vastavad raamatud

Raamatute leidmiseks, mille nimi sisaldab suvalist sõna „by”:

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

Päring tagastab:

MEELDIB %by% päringu tulemus sobivate raamatutega

PostgreSQL NAGU _ metamärgiga

. _ märk vastab täpselt ühele tähemärgile. Järgmine päring leiab nimed, mille esimene märk on suvaline üksiktäht, millele järgneb „teenima“ ja seejärel suvaline järelliide:

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

Päring tagastab:

LIKE _earn% päringu tulemus ühetähemärgiliste eesliidetega vastetega

Teine näide – leia vasteks tekst, mis lõpeb sõnaga „Algaja“ ja veel ühe tähemärgiga:

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

Päring tagastab:

NAGU %Beginner_ päringu tulemus, mis vastab ühele viimasele tähemärgile

PostgreSQL MITTE NAGU Operator

Kombineeri LIKE ja NOT, et tagastada read, mis ei vasta tõele mitte sobita mustriga. Näiteks loetle kõik raamatud, mille nimi ei alga sõnaga „Post”:

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

Päring tagastab:

NOT LIKE Post% tulemus, välja arvatud raamatud, mis algavad Postiga

Ainult üks raamat vastab tingimusele. Nüüd loetlege kõik raamatud, mille nimi vastab tingimusele. mitte sisaldama sõna „Valmistatud”:

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

Päring tagastab:

NOT LIKE %Made% tulemus, mis annab kolm sobivat raamatut

Tingimusele vastavad kolm rida.

LIKE kasutamine pgAdminiga

Samu päringuid saab käivitada ka graafiliselt pgAdmini päringutööriistas.

% Metamärk pgAdminis

Step 1) Logi sisse pgAdmini.

Step 2) Klõpsake vasakpoolsel navigeerimisribal nuppu Andmebaasid, seejärel klõpsake Demo.

pgAdmini navigeerimispuu, kus andmebaasid ja demo on laiendatud

Step 3) Tippige päring päringuredaktorisse:

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

Step 4) Click Täitma.

pgAdmin päringutööriist koos tööriistariba nupuga „Käivita”

Tulemuste paan näitab sobivaid raamatuid:

pgAdmini tulemuste paneel LIKE Lear% päringu jaoks

Raamatu otsimiseks, mille nimes on sõna „autor“:

Step 1) Tippige päringuredaktorisse järgmine teave:

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

Step 2) Click Täitma.

pgAdmin päringutööriist, mis töötab sarnaselt %by% päringule

Tulemuste paan näitab:

pgAdmini tulemuste paneel LIKE %by% päringu jaoks

_ Metamärk pgAdminis

Step 1) Logi sisse pgAdmini.

Step 2) Klõpsake vasakpoolsel navigeerimisribal nuppu Andmebaasid, seejärel klõpsake Demo.

pgAdmini navigeerimispuu, mis kuvab andmebaaside puud

Step 3) Tippige päring päringuredaktorisse:

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

Step 4) Click Täitma.

pgAdmin päringutööriist, mis töötab LIKE _earn% päringuga

Tulemuste paan näitab:

pgAdmini tulemuste paneel LIKE _earn% päringu jaoks

Step 5) Käivita teine ​​näide:

  1. Tippige päring päringuredaktorisse:
SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';
  1. Click Täitma.

pgAdmin päringutööriist, mis töötab sarnaselt %Beginner_ päringule

Tulemuste paan näitab:

pgAdmini tulemuste paneel LIKE %Beginner_ päringu jaoks

MITTE NAGU pgAdminis

Step 1) Logi sisse pgAdmini.

Step 2) Klõpsake vasakpoolsel navigeerimisribal nuppu Andmebaasid, seejärel klõpsake Demo.

pgAdmini navigatsioonipuu NOT LIKE näite jaoks

Step 3) Kõigi raamatute loetlemiseks, mille nimi ei alga sõnaga „Post”, tippige:

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

Step 4) Click Täitma.

pgAdmin päringutööriist töötab NOT LIKE Post% päringuga

Tulemuste paan näitab:

pgAdmin tulemuste paneel päringule NOT LIKE Post%

Lisateave pgAdmini tulemuste kohta päringu NOT LIKE kohta

Raamatute loetlemiseks, mille nimes pole sõna „Made”:

Step 1) Tippige päringuredaktorisse järgmine teave:

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

Step 2) Click Täitma.

pgAdmin päringutööriist töötab NOT LIKE %Made% päringuga

Tulemuste paan näitab:

pgAdmin tulemuste paneel päringule NOT LIKE %Made%

Laadige alla selles õpetuses kasutatud andmebaas.

KKK

LIKE on tõstutundlik, samas kui ILIKE teostab tõstutundetut sobitamist. ILIKE on PostgreSQL laiendus. Näiteks nimi ILIKE 'lear%' vastab nii sõnadele „Learn“ kui ka „LEAR“. Kasutage ILIKE-d, kui kasutaja sisestatud suur- ja väiketähtsus on ettearvamatu.

Kasutage ESCAPE-klauslit paomärgi deklareerimiseks ja seejärel lisage literaali metamärk ette. Näiteks WHERE-kood LIKE '50!%%' ESCAPE '!' leiab väärtused, mis algavad tähega „50%“, kuna hüüumärk asendab protsendimärgi.

Lihtsate eesliidete, järelliitete või alamstringide vastete jaoks kasutage LIKE-i. Märgiklasside, alterneerimise või kvantorite jaoks valige POSIX-i regulaaravaldis (~ ja ~*). Regulaaravaldis on võimsam, kuid põhimustrite puhul tavaliselt aeglasem kui LIKE.

Jah. AI Assistendid, näiteks tekstist SQL-i teisendajad, tõlgivad sellised küsimused nagu „leida kliente, kelle e-posti aadress sisaldab sõna „acme”” nimeks SELLISELT „%acme%” ja selgitavad metamärkide loogikat, kiirendades ad-hoc aruandlust.

Generatiivne tehisintellekt kontrollib päringuplaani, soovitab trigrammi indeksit (pg_trgm) juhtivate metamärkidega LIKE-otsingute jaoks ja kirjutab ümber mustreid, mis takistavad indeksi kasutamist. See muudab terve tabeli skaneerimise millisekundilisteks otsinguteks suurtes tabelites. PostgreSQL tabelites.

Võta see postitus kokku järgmiselt: