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:
Om dat resultaat te krijgen, kunnen we het volgende commando uitvoeren:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Dit retourneert het volgende:
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:
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:
Hier is nog een voorbeeld:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
Dit geeft het volgende terug:
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:
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:
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)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
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.
Het volgende zou moeten worden geretourneerd:
Gebruik _jokerteken
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT * FROM Book WHERE name LIKE '_earn%';
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
Stap 5) Om het tweede voorbeeld uit te voeren:
- Typ de volgende query in de query-editor:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
NIET gebruiken Operator
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
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.
Het volgende zou moeten worden geretourneerd:
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.
Het volgende zou moeten worden geretourneerd:
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