PostgreSQL LIKE, Not Like, Jokertekens (%, _ ) Voorbeelden


Ocuco's Medewerkers PostgreSQL De LIKE operator helpt ons om tekstwaarden te matchen met patronen met behulp van jokers. Het is mogelijk om de zoekexpressie te matchen met de patroonexpressie.

Als er een match is, retourneert de LIKE operator true. Met behulp van de LIKE operator is het mogelijk om jokers te gebruiken in de WHERE-component van SELECT-, UPDATE-, INSERT- of DELETE-statements.

Jokers

Er zijn slechts twee jokertekens die samen kunnen worden gebruikt

  • Procentteken (%)
  • Laag streepje (_)

Het procentteken (%) wordt gebruikt om nul, één of meerdere tekens of cijfers weer te geven.

De underscore wildcard (_) wordt gebruikt om één teken of getal weer te geven. Deze symbolen kunnen ook worden gecombineerd. Als de LIKE-operator niet samen met deze twee tekens wordt gebruikt, zal deze zich gedragen als de equals-operator.

Syntaxis

Dit is de syntaxis voor de LIKE-operator:

expression LIKE pattern [ ESCAPE 'escape-character' ]

De expressie is een tekenexpressie zoals een kolom of veld.

Het patroon is een karakteruitdrukking met patroonmatching.

Het escape-teken is een optionele parameter. Hiermee kunt u letterlijke exemplaren van jokertekens zoals % en _ testen. Als dit niet wordt opgegeven, wordt de \ gebruikt als escape-teken.

% wildcard gebruiken

Zoals we eerder al zeiden, komt het %-teken overeen met nul, één of meer tekens of getallen. Bekijk de volgende tabel:

Boek:

% wildcard gebruiken

Om dat resultaat te krijgen, kunnen we het volgende commando uitvoeren:

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

Dit retourneert het volgende:

% wildcard gebruiken

Het boek is gevonden.

Laten we zoeken naar een boek “door” in de naam:

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

Dit retourneert het volgende:

% wildcard gebruiken

Gebruik _jokerteken

Zoals we eerder hebben aangegeven, vertegenwoordigt het _-teken één teken of getal. Het kan worden gebruikt zoals hieronder weergegeven:

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

Dit geeft het volgende terug:

Gebruik _jokerteken

Hier is nog een voorbeeld:

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

Dit geeft het volgende terug:

Gebruik _jokerteken

NIET gebruiken Operator

Wanneer de LIKE-operator wordt gecombineerd met de NOT-operator, wordt elke rij die niet overeenkomt met het zoekpatroon geretourneerd. Om bijvoorbeeld een boek te zien waarvan de naam niet begint met "post", kunnen we de volgende opdracht uitvoeren:

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

Dit geeft het volgende terug:

NIET gebruiken Operator

Slechts één boek voldeed aan de zoekvoorwaarde. Laten we de lijst met boeken bekijken die geen woord 'Made' hebben:

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

Dit geeft het volgende terug:

NIET gebruiken Operator

3 rijen voldeden aan de zoekvoorwaarde.

Gebruik pgAdmin

Laten we nu eens kijken hoe de acties kunnen worden uitgevoerd met pgAdmin.

% wildcard gebruiken

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Gebruik pgAdmin met % wildcard

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

Gebruik pgAdmin met % wildcard

Het volgende zou moeten worden geretourneerd:

Gebruik pgAdmin met % wildcard

Zoeken naar een boek ‘op’ in de naam:

Stap 1) Typ de volgende opdracht in de query-editor:

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

Stap 2) Klik op de knop Uitvoeren.

Gebruik pgAdmin met % wildcard

Het volgende zou moeten worden geretourneerd:

Gebruik pgAdmin met % wildcard

Gebruik _jokerteken

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Gebruik pgAdmin met _ wildcard

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

Gebruik pgAdmin met _ wildcard

Het volgende zou moeten worden geretourneerd:

Gebruik pgAdmin met _ wildcard

Stap 5) Om het tweede voorbeeld uit te voeren:

  1. Typ de volgende query in de query-editor:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Klik op de knop Uitvoeren.

Gebruik pgAdmin met _ wildcard

Het volgende zou moeten worden geretourneerd:

Gebruik pgAdmin met _ wildcard

NIET gebruiken Operator

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

NIET gebruiken Operator in pgAdmin

Stap 3) Om alle boeken te zien waarvan de naam niet begint met 'Post', typt u de zoekopdracht in de zoekopdrachteditor:

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

Stap 4) Klik op de knop Uitvoeren.

NIET gebruiken Operator in pgAdmin

Het volgende zou moeten worden geretourneerd:

NIET gebruiken Operator in pgAdmin

NIET gebruiken Operator in pgAdmin

Om de lijst met boeken te zien waarvan de naam niet het woord 'Made' bevat:

Stap 1) Typ de volgende query in de query-editor:

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

Stap 2) Klik op de knop Uitvoeren.

NIET gebruiken Operator in pgAdmin

Het volgende zou moeten worden geretourneerd:

NIET gebruiken Operator in pgAdmin

Samenvatting

  • Ocuco's Medewerkers PostgreSQL LIKE wordt gebruikt bij het vergelijken van tekstwaarden met patronen met behulp van jokertekens.
  • Met de LIKE-clausule kunnen we jokertekens gebruiken in SELECT, UPDATE, INSERT of DELETE-instructies.
  • De % wildcard komt overeen met een of meer waarden. De waarden kunnen getallen of tekens zijn.
  • Het jokerteken _ komt overeen met precies één waarde. De waarde kan een teken of een getal zijn.
  • De LIKE-operator kan worden gecombineerd met de NOT-operator om elke rij te retourneren die niet overeenkomt met het zoekpatroon.

Download de database die in deze zelfstudie wordt gebruikt