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

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: