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

Inhoudsopgave:

Anonim

De PostgreSQL LIKE-operator helpt ons om tekstwaarden te matchen met patronen met behulp van jokertekens. Het is mogelijk om de zoekuitdrukking af te stemmen op de patroonuitdrukking.

Als er een overeenkomst optreedt, retourneert de operator LIKE true. Met behulp van de LIKE-operator is het mogelijk om jokertekens te gebruiken in de WHERE-clausule van SELECT-, UPDATE-, INSERT- of DELETE-instructies.

In deze PostgreSQL-zelfstudie leert u het volgende:

  • Jokers
  • Syntaxis
  • Gebruik% jokerteken
  • Gebruik _ jokerteken
  • NIET Operator gebruiken
  • Met behulp van pgAdmin

Jokers

Er zijn slechts twee jokertekens die samen kunnen worden gebruikt met

  • Procentteken (%)
  • Laag streepje (_)

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

Het underscore-jokerteken (_) wordt gebruikt om één teken of cijfer weer te geven. Deze symbolen kunnen ook worden gecombineerd. Als de operator LIKE niet samen met deze twee tekens wordt gebruikt, werkt deze als de operator is gelijk aan.

Syntaxis

Hier is de syntaxis voor de LIKE-operator:

expression LIKE pattern [ ESCAPE 'escape-character' ]

De uitdrukking is een tekenuitdrukking zoals een kolom of veld.

Het patroon is een tekenuitdrukking met patroonovereenkomst.

Het escape-teken is een optionele parameter. Hiermee kunnen letterlijke instanties van jokertekens worden getest, zoals% en _. Als het niet is opgegeven, wordt de \ gebruikt als het escape-teken.

Gebruik% jokerteken

Zoals we eerder zeiden, komt het% -teken overeen met nul, een of meer tekens of cijfers. Beschouw de volgende tabel:

Boek:

We willen het boek waarvan de naam is als "Lear

... "om dat resultaat te krijgen, kunnen we het volgende commando uitvoeren:
SELECT *FROMBookWHEREname LIKE 'Lear%';

Dit levert het volgende op:

Het boek is gevonden.

Laten we zoeken naar een boek "op" in de naam:

SELECT *FROMBookWHEREname LIKE '%by%';

Dit levert het volgende op:

Gebruik _ jokerteken

Zoals we eerder zeiden, staat het teken _ voor één teken of cijfer. Het kan worden gebruikt zoals hieronder weergegeven:

SELECT *FROMBookWHEREname LIKE '_earn%';

Dit levert het volgende op:

Hier is nog een voorbeeld:

SELECT *FROMBookWHEREname LIKE '%Beginner_';

Dit levert het volgende op:

NIET Operator gebruiken

Wanneer de operator LIKE wordt gecombineerd met de operator NOT, 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 het volgende commando uitvoeren:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Dit levert het volgende op:

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

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Dit levert het volgende op:

3 rijen voldeden aan de zoekvoorwaarde.

Met behulp van pgAdmin

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

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.

Stap 3) Typ de vraag in de zoekopdrachteditor:

SELECT *FROMBookWHEREname LIKE 'Lear%';

Stap 4) Klik op de knop Uitvoeren.

Het zou het volgende moeten retourneren:

Zoeken naar een boek "op" in de naam:

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

SELECT *FROMBookWHEREname LIKE '%by%';

Stap 2) Klik op de knop Uitvoeren.

Het zou het volgende moeten retourneren:

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.

Stap 3) Typ de vraag in de zoekopdrachteditor:

SELECT *FROMBookWHEREname LIKE '_earn%';

Stap 4) Klik op de knop Uitvoeren.

Het zou het volgende moeten retourneren:

Stap 5) Om het tweede voorbeeld uit te voeren:

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

Het zou het volgende moeten retourneren:

NIET Operator 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.

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

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Stap 4) Klik op de knop Uitvoeren.

Het zou het volgende moeten retourneren:

Ga als volgt te werk om de lijst met boeken te zien waarvan de naam niet het woord 'Made' heeft:

Stap 1) Typ de volgende vraag in de zoekopdrachteditor:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Stap 2) Klik op de knop Uitvoeren.

Het zou het volgende moeten retourneren:

Overzicht:

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

Download de database die in deze zelfstudie wordt gebruikt