PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Beispiele
Die PostgreSQL Der Operator LIKE hilft uns, Textwerte mithilfe von Platzhaltern mit Mustern abzugleichen. Es ist möglich, den Suchausdruck mit dem Musterausdruck abzugleichen.
Wenn eine Übereinstimmung auftritt, gibt der LIKE-Operator „true“ zurück. Mithilfe des LIKE-Operators ist es möglich, Platzhalter in der WHERE-Klausel von SELECT-, UPDATE-, INSERT- oder DELETE-Anweisungen zu verwenden.
Platzhalter
Es gibt nur zwei Platzhalter, die zusammen verwendet werden können
- Prozentzeichen (%)
- Unterstrich (_)
Das Prozentzeichen (%) wird verwendet, um null, ein oder viele Zeichen oder Zahlen darzustellen.
Der Unterstrich (_) wird als Platzhalter verwendet, um ein einzelnes Zeichen oder eine Zahl darzustellen. Diese Symbole können auch kombiniert werden. Wenn der LIKE-Operator nicht zusammen mit diesen beiden Zeichen verwendet wird, verhält er sich wie der Gleichheitsoperator.
Syntax
Hier ist die Syntax für den LIKE-Operator:
expression LIKE pattern [ ESCAPE 'escape-character' ]
Der Ausdruck ist ein Zeichenausdruck wie eine Spalte oder ein Feld.
Das Muster ist ein Zeichenausdruck mit Mustervergleich.
Das Escape-Zeichen ist ein optionaler Parameter. Es ermöglicht das Testen von Literalinstanzen von Platzhalterzeichen wie % und _. Wenn es nicht angegeben wird, wird \ als Escape-Zeichen verwendet.
Verwendung des Platzhalters %
Wie bereits erwähnt, entspricht das %-Zeichen null, einem oder mehreren Zeichen oder Zahlen. Betrachten Sie die folgende Tabelle:
Buch:
Wir möchten das Buch, dessen Name beispielsweise „Lear…“ lautet. Um dieses Ergebnis zu erhalten, können wir den folgenden Befehl ausführen:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Dies gibt Folgendes zurück:
Das Buch wurde gefunden.
Suchen wir nach einem Buch „von“ im Namen:
SELECT * FROM Book WHERE name LIKE '%by%';
Dies gibt Folgendes zurück:
Verwendung des Platzhalters _
Wie bereits erwähnt, steht das _-Zeichen für ein Zeichen oder eine Zahl. Es kann wie unten gezeigt verwendet werden:
SELECT * FROM Book WHERE name LIKE '_earn%';
Dies gibt Folgendes zurück:
Hier ist ein weiteres Beispiel:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
Dies gibt Folgendes zurück:
Verwenden von NOT OperaDo.
Wenn der Operator LIKE mit dem Operator NOT kombiniert wird, wird jede Zeile zurückgegeben, die nicht dem Suchmuster entspricht. Um beispielsweise ein Buch anzuzeigen, dessen Name nicht mit „post“ beginnt, können wir den folgenden Befehl ausführen:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Dies gibt Folgendes zurück:
Nur ein Buch erfüllte die Suchbedingung. Sehen wir uns die Liste der Buchnamen an, in denen das Wort „Made“ nicht vorkommt:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Dies gibt Folgendes zurück:
3 Zeilen erfüllten die Suchbedingung.
Verwenden von pgAdmin
Sehen wir uns nun an, wie die Aktionen mit pgAdmin ausgeführt werden können.
Verwendung des Platzhalters %
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
So suchen Sie nach einem Buch „von“ im Namen:
Schritt 1) Geben Sie den folgenden Befehl in den Abfrage-Editor ein:
SELECT * FROM Book WHERE name LIKE '%by%';
Schritt 2) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Verwendung des Platzhalters _
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT * FROM Book WHERE name LIKE '_earn%';
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Schritt 5) So führen Sie das zweite Beispiel aus:
- Geben Sie die folgende Abfrage in den Abfrage-Editor ein:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Verwenden von NOT OperaDo.
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Um alle Bücher anzuzeigen, deren Namen nicht mit „Beitrag“ beginnen, geben Sie die Abfrage in den Abfrageeditor ein:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
So sehen Sie die Liste der Bücher, deren Namen nicht das Wort „Made“ enthalten:
Schritt 1) Geben Sie die folgende Abfrage in den Abfrage-Editor ein:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Schritt 2) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Zusammenfassung
- Die PostgreSQL LIKE wird verwendet, um Textwerte mithilfe von Platzhaltern mit Mustern abzugleichen.
- Die LIKE-Klausel ermöglicht uns die Verwendung von Platzhaltern SELECT, UPDATE-, INSERT- oder DELETE-Anweisungen.
- Das Platzhalterzeichen % steht für einen oder mehrere Werte. Die Werte können Zahlen oder Buchstaben sein.
- Der Platzhalter _ entspricht genau einem Wert. Der Wert kann ein Zeichen oder eine Zahl sein.
- Der LIKE-Operator kann mit dem NOT-Operator kombiniert werden, um alle Zeilen zurückzugeben, die nicht dem Suchmuster entsprechen.
Laden Sie die in diesem Tutorial verwendete Datenbank herunter