Der PostgreSQL LIKE-Operator 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. Mit Hilfe des Operators LIKE können Platzhalter in der WHERE-Klausel der Anweisungen SELECT, UPDATE, INSERT oder DELETE verwendet werden.
In diesem PostgreSQL-Tutorial lernen Sie Folgendes:
- Platzhalter
- Syntax
- % Platzhalter verwenden
- Verwenden des Platzhalters _
- Verwenden des NOT-Operators
- Verwenden von pgAdmin
Platzhalter
Es gibt nur zwei Platzhalter, die zusammen mit verwendet werden können
- Prozentzeichen (%)
- Unterstrich (_)
Das Prozentzeichen (%) wird verwendet, um null, eins oder viele Zeichen oder Zahlen darzustellen.
Der Unterstrich-Platzhalter (_) wird verwendet, um ein 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 ist, wird das \ als Escape-Zeichen verwendet.
% Platzhalter verwenden
Wie bereits erwähnt, entspricht das% -Zeichen null, einem oder mehreren Zeichen oder Zahlen. Betrachten Sie die folgende Tabelle:
Buch:
Wir wollen das Buch, dessen Name "Lear" ist
… "Um dieses Ergebnis zu erhalten, können wir den folgenden Befehl ausführen:SELECT *FROMBookWHEREname LIKE 'Lear%';
Dies gibt Folgendes zurück:
Das Buch wurde gefunden.
Lassen Sie uns nach einem Buch "by" in seinem Namen suchen:
SELECT *FROMBookWHEREname LIKE '%by%';
Dies gibt Folgendes zurück:
Verwenden des Platzhalters _
Wie bereits erwähnt, steht das Zeichen _ für ein Zeichen oder eine Zahl. Es kann wie folgt verwendet werden:
SELECT *FROMBookWHEREname LIKE '_earn%';
Dies gibt Folgendes zurück:
Hier ist ein weiteres Beispiel:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
Dies gibt Folgendes zurück:
Verwenden des NOT-Operators
Wenn der LIKE-Operator mit dem NOT-Operator kombiniert wird, wird jede Zeile zurückgegeben, die nicht mit dem Suchmuster übereinstimmt. Um beispielsweise ein Buch anzuzeigen, dessen Name nicht mit "post" beginnt, können Sie den folgenden Befehl ausführen:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Dies gibt Folgendes zurück:
Nur ein Buch erfüllte die Suchbedingung. Sehen wir uns die Liste der Bücher an, die kein Wort "Made" haben:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Dies gibt Folgendes zurück:
3 Zeilen erfüllten die Suchbedingung.
Verwenden von pgAdmin
Nun wollen wir sehen, wie die Aktionen mit pgAdmin ausgeführt werden können.
% Platzhalter verwenden
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 in den Abfrageeditor ein:
SELECT *FROMBookWHEREname LIKE 'Lear%';
Schritt 4) Klicken Sie auf die Schaltfläche Ausführen.
Es sollte Folgendes zurückgeben:
So suchen Sie nach einem Buch "by" in seinem Namen:
Schritt 1) Geben Sie den folgenden Befehl in den Abfrageeditor ein:
SELECT *FROMBookWHEREname LIKE '%by%';
Schritt 2) Klicken Sie auf die Schaltfläche Ausführen.
Es sollte Folgendes zurückgeben:
Verwenden 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 in den Abfrageeditor ein:
SELECT *FROMBookWHEREname 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 Abfrageeditor ein:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- Klicken Sie auf die Schaltfläche Ausführen.
Es sollte Folgendes zurückgeben:
Verwenden des NOT-Operators
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 "Posten" beginnen, geben Sie die Abfrage in den Abfrageeditor ein:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Schritt 4) Klicken Sie auf die Schaltfläche Ausführen.
Es sollte Folgendes zurückgeben:
So zeigen Sie die Liste der Bücher an, deren Namen nicht das Wort "Made" enthalten:
Schritt 1) Geben Sie die folgende Abfrage in den Abfrageeditor ein:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Schritt 2) Klicken Sie auf die Schaltfläche Ausführen.
Es sollte Folgendes zurückgeben:
Zusammenfassung:
- PostgreSQL LIKE wird verwendet, um Textwerte mithilfe von Platzhaltern mit Mustern abzugleichen.
- Mit der LIKE-Klausel können Sie Platzhalter in SELECT-, UPDATE-, INSERT- oder DELETE-Anweisungen verwenden.
- Der Platzhalter% entspricht einem oder mehreren Werten. Die Werte können Zahlen oder Zeichen 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 eine Zeile zurückzugeben, die nicht mit dem Suchmuster übereinstimmt.
Laden Sie die in diesem Tutorial verwendete Datenbank herunter