PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Beispiele
⚡ Intelligente Zusammenfassung
PostgreSQL LIKE vergleicht Text mit Mustern mithilfe zweier Platzhalter – dem Prozentzeichen und dem Unterstrich. Dieses Tutorial zeigt die Verwendung von LIKE und NOT LIKE in SELECT-Anweisungen anhand von Beispielen in psql und pgAdmin.

Das PostgreSQL LIKE Der Operator vergleicht Textwerte mithilfe von Platzhaltern mit Mustern. Wenn der Suchausdruck mit dem Muster übereinstimmt, gibt LIKE einen Wert zurück. trueWildcards funktionieren in der WHERE Klausel von SELECT, UPDATE, INSERTden DELETE.
Was sind PostgreSQL Platzhalter?
PostgreSQL Unterstützt zwei LIKE-Wildcards:
- Prozentzeichen (
%): Passt zu null, einem oder mehreren Zeichen oder Ziffern. - Unterstrich (
_): Stimmt genau mit einem Zeichen oder einer Ziffer überein.
Die beiden Symbole können innerhalb desselben Musters kombiniert werden. Wenn LIKE ohne Wildcards verwendet wird, verhält es sich wie das Gleichheitszeichen (=) Operator.
PostgreSQL LIKE-Syntax
Die grundlegende LIKE-Syntax lautet:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- Ausdruck — ein Zeichenausdruck, typischerweise ein Spalten- oder Feldname.
- Anleitungen — ein Zeichenausdruck, der Platzhalter enthält.
- Escape-Zeichen — optional. Ermöglicht die wörtliche Zuordnung.
%or_Zeichen. Wird der Backslash weggelassen (\) ist das Standard-Escapezeichen.
PostgreSQL LIKE mit dem %-Wildcard
Das % Das Zeichen kann null, einem oder mehreren Zeichen entsprechen. Betrachten Sie Folgendes: Book Tabelle:
Um Bücher zu finden, deren Name mit „Lear“ beginnt, führen Sie die unten stehende Abfrage aus.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Die Abfrage liefert folgendes Ergebnis:
Um Bücher zu finden, deren Titel irgendwo „von“ enthält:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Die Abfrage liefert folgendes Ergebnis:
PostgreSQL LIKE mit dem _ Wildcard
Das _ „sign“ entspricht genau einem Zeichen. Die folgende Abfrage findet Namen, bei denen das erste Zeichen ein beliebiger Buchstabe ist, gefolgt von „earn“ und dann einem beliebigen Suffix:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Die Abfrage liefert folgendes Ergebnis:
Ein weiteres Beispiel – finde jeden Text, der mit „Beginner“ plus einem weiteren Zeichen endet:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
Die Abfrage liefert folgendes Ergebnis:
PostgreSQL NICHT WIE OperaDo.
Kombinieren Sie LIKE mit NOT, um Zeilen zurückzugeben, die den folgenden Operatoren entsprechen: kein Frontalunterricht. Passe das Muster an. Liste beispielsweise alle Bücher auf, deren Name nicht mit „Post“ beginnt:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Die Abfrage liefert folgendes Ergebnis:
Nur ein Buch erfüllt die Bedingung. Listen Sie nun alle Bücher auf, deren Name die Bedingung erfüllt. kein Frontalunterricht. enthalten das Wort „Made“:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Die Abfrage liefert folgendes Ergebnis:
Drei Zeilen erfüllen die Bedingung.
Verwendung von LIKE mit pgAdmin
Die gleichen Abfragen können auch grafisch im Abfragetool von pgAdmin ausgeführt werden.
% Platzhalter in pgAdmin
Schritt 1) Melden Sie sich bei pgAdmin an.
Schritt 2) Klicken Sie in der Navigationsleiste links auf Datenbanken, dann klick Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Schritt 4) Klicken Sie auf Ausführen.
Im Ergebnisbereich werden die passenden Bücher angezeigt:
Um nach einem Buch zu suchen, dessen Titel irgendwo „von“ enthält:
Schritt 1) Geben Sie Folgendes im Abfrageeditor ein:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Schritt 2) Klicken Sie auf Ausführen.
Im Ergebnisbereich wird Folgendes angezeigt:
_ Platzhalter in pgAdmin
Schritt 1) Melden Sie sich bei pgAdmin an.
Schritt 2) Klicken Sie in der Navigationsleiste links auf Datenbanken, dann klick Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Schritt 4) Klicken Sie auf Ausführen.
Im Ergebnisbereich wird Folgendes angezeigt:
Schritt 5) Führen Sie das zweite Beispiel aus:
- Geben Sie die Abfrage im Abfrageeditor ein:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- Klicken Sie auf Ausführen.
Im Ergebnisbereich wird Folgendes angezeigt:
NICHT WIE in pgAdmin
Schritt 1) Melden Sie sich bei pgAdmin an.
Schritt 2) Klicken Sie in der Navigationsleiste links auf Datenbanken, dann klick Demo.
Schritt 3) Um alle Bücher aufzulisten, deren Name nicht mit „Post“ beginnt, geben Sie Folgendes ein:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Schritt 4) Klicken Sie auf Ausführen.
Im Ergebnisbereich wird Folgendes angezeigt:
Um Bücher aufzulisten, deren Name das Wort „Made“ nicht enthält:
Schritt 1) Geben Sie Folgendes im Abfrageeditor ein:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Schritt 2) Klicken Sie auf Ausführen.
Im Ergebnisbereich wird Folgendes angezeigt:
Laden Sie die in diesem Tutorial verwendete Datenbank herunter..























