PostgreSQL LIKE, Not Like, Jokertekens (%, _ ) Voorbeelden
โก Slimme samenvatting
PostgreSQL LIKE vergelijkt tekst met patronen met behulp van twee jokertekens: het procentteken (%) en de underscore (_). Deze handleiding laat zien hoe je LIKE en NOT LIKE gebruikt in SELECT-statements, met uitgewerkte psql- en pgAdmin-voorbeelden voor beide gevallen.

De PostgreSQL LIKE De operator vergelijkt tekstwaarden met patronen met behulp van jokertekens. Als de zoekuitdrukking overeenkomt met het patroon, retourneert LIKE een waarde. trueJokertekens werken in de WHERE clausule van SELECT, UPDATE, INSERTof DELETE.
Wat zijn PostgreSQL Wildcards?
PostgreSQL ondersteunt twee LIKE-jokertekens:
- Procentteken (
%): Komt overeen met nul, รฉรฉn of meerdere tekens of cijfers. - Onderstreep (
_): komt exact overeen met รฉรฉn teken of cijfer.
De twee symbolen kunnen binnen hetzelfde patroon worden gecombineerd. Als LIKE wordt gebruikt zonder een van de jokertekens, gedraagt โโhet zich als het gelijkheidsteken ( ).=) exploitant.
PostgreSQL LIKE-syntaxis
De basissyntaxis van LIKE is:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- uitdrukking โ een tekenuitdrukking, meestal een kolom- of veldnaam.
- patroon โ een tekenuitdrukking die jokers bevat.
- ontsnappingskarakter โ optioneel. Hiermee kunt u letterlijke overeenkomsten vinden.
%or_tekens. Indien weggelaten, de backslash (\) is het standaard escape-teken.
PostgreSQL Zoals met het %-jokerteken
De % Het teken komt overeen met nul, รฉรฉn of meer tekens. Neem het volgende in overweging. Book tafel:
Om boeken te vinden waarvan de titel met 'Lear' begint, kunt u de onderstaande zoekopdracht uitvoeren.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
De query retourneert:
Om boeken te vinden waarvan de titel ergens "door" bevat:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
De query retourneert:
PostgreSQL Zoals met het jokerteken _
De _ Het teken komt overeen met exact รฉรฉn teken. De volgende zoekopdracht vindt namen waarvan het eerste teken een willekeurige letter is, gevolgd door "earn" en vervolgens een willekeurig achtervoegsel:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
De query retourneert:
Nog een voorbeeld: zoek naar elke tekst die eindigt op "Beginner" plus รฉรฉn extra teken:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
De query retourneert:
PostgreSQL NIET ZOALS Operator
Combineer LIKE met NOT om rijen te retourneren die dat doen. niet Volg het patroon. Geef bijvoorbeeld een lijst van alle boeken waarvan de titel niet met 'Post' begint:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
De query retourneert:
Slechts รฉรฉn boek voldoet aan de voorwaarde. Noem nu alle boeken waarvan de naam dat wel doet. niet bevatten het woord "Made":
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
De query retourneert:
Drie rijen voldoen aan de voorwaarde.
LIKE gebruiken met pgAdmin
Dezelfde query's kunnen ook grafisch worden uitgevoerd in de querytool van pgAdmin.
% Jokerteken in pgAdmin
Stap 1) Log in bij pgAdmin.
Stap 2) Klik in de navigatiebalk aan de linkerkant op databases, dan klikken .
Stap 3) Voer de zoekopdracht in de zoekopdrachteditor in:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Stap 4) Klik Uitvoeren.
In het resultatenvenster worden de overeenkomende boeken weergegeven:
Om te zoeken naar een boek waarvan de titel ergens "van" bevat:
Stap 1) Typ het volgende in de query-editor:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Stap 2) Klik Uitvoeren.
Het resultaatvenster toont:
_ Jokerteken in pgAdmin
Stap 1) Log in bij pgAdmin.
Stap 2) Klik in de navigatiebalk aan de linkerkant op databases, dan klikken .
Stap 3) Voer de zoekopdracht in de zoekopdrachteditor in:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Stap 4) Klik Uitvoeren.
Het resultaatvenster toont:
Stap 5) Voer het tweede voorbeeld uit:
- Voer de zoekopdracht in de zoekopdrachteditor in:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- Klik Uitvoeren.
Het resultaatvenster toont:
NIET ZOALS in pgAdmin
Stap 1) Log in bij pgAdmin.
Stap 2) Klik in de navigatiebalk aan de linkerkant op databases, dan klikken .
Stap 3) Om alle boeken weer te geven waarvan de titel niet met 'Post' begint, typt u:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Stap 4) Klik Uitvoeren.
Het resultaatvenster toont:
Om boeken te vermelden waarvan de titel het woord 'Made' niet bevat:
Stap 1) Typ het volgende in de query-editor:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Stap 2) Klik Uitvoeren.
Het resultaatvenster toont:
Download de database die in deze handleiding wordt gebruikt..























