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:

Verwendung des Platzhalters %

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:

Verwendung des Platzhalters %

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 %

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:

Verwendung des Platzhalters _

Hier ist ein weiteres Beispiel:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Dies gibt Folgendes zurück:

Verwendung des Platzhalters _

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:

Verwenden von NOT OperaDo.

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:

Verwenden von NOT OperaDo.

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)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Verwenden von pgAdmin mit % Platzhalter

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“.

Verwenden von pgAdmin mit % Platzhalter

Es sollte Folgendes zurückgeben:

Verwenden von pgAdmin mit % Platzhalter

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“.

Verwenden von pgAdmin mit % Platzhalter

Es sollte Folgendes zurückgeben:

Verwenden von pgAdmin mit % Platzhalter

Verwendung des Platzhalters _

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Verwenden von pgAdmin mit dem Platzhalter _

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“.

Verwenden von pgAdmin mit dem Platzhalter _

Es sollte Folgendes zurückgeben:

Verwenden von pgAdmin mit dem Platzhalter _

Schritt 5) So führen Sie das zweite Beispiel aus:

  1. Geben Sie die folgende Abfrage in den Abfrage-Editor ein:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Klicken Sie auf die Schaltfläche „Ausführen“.

Verwenden von pgAdmin mit dem Platzhalter _

Es sollte Folgendes zurückgeben:

Verwenden von pgAdmin mit dem Platzhalter _

Verwenden von NOT OperaDo.

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Verwenden von NOT Operator in pgAdmin

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“.

Verwenden von NOT Operator in pgAdmin

Es sollte Folgendes zurückgeben:

Verwenden von NOT Operator in pgAdmin

Verwenden von NOT Operator in pgAdmin

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“.

Verwenden von NOT Operator in pgAdmin

Es sollte Folgendes zurückgeben:

Verwenden von NOT Operator in pgAdmin

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

Mehr erfahren Weiterlesen