Orakel WIE

Orakel Wie



In Oracle und anderen relationalen Datenbanken ist der Musterabgleich eine beliebte Funktion, mit der Sie mithilfe spezieller Syntaxen nach Zeichenfolgenmustern suchen können. Beispielsweise können Sie mithilfe von Mustervergleichsoperatoren und -funktionen nach einer Teilzeichenfolge in einer großen Menge von Zeichenfolgen suchen.

Dies macht es sehr nützlich, um einfache Suchklauseln zu erstellen, ohne dass es zu erheblichen Leistungseinbußen in der Datenbank kommt.







In diesem Lernprogramm werden Sie auf den LIKE-Operator in Oracle stoßen, um Mustervergleichsabfragen durchzuführen.



Oracle LIKE-Operator

Mit dem LIKE-Operator in Oracle können Sie in einer bestimmten Spalte nach einem bestimmten Muster suchen. Sie können damit beispielsweise alle Zeilen finden, in denen der Vorname eines Kunden mit dem Muster „Ja“ beginnt.



Sie werden diesen Operator häufig in Verbindung mit anderen SQL-Klauseln finden, wie z. B. der WHERE-Klausel, um unsere Ergebnisse basierend auf einem bestimmten Muster zu filtern.





Wir können die Syntax des LIKE-Operators in SQL wie folgt ausdrücken:

Ausdruck LIKE-Muster [ FLUCHT 'Escape-Zeichen' ]



  1. Der Ausdrucksparameter gibt die Spalte an, die Sie durchsuchen möchten.
  2. Der Musterparameter definiert das spezifische Muster, das Sie suchen möchten. Das angegebene Muster kann Platzhalterzeichen wie % und _ enthalten, um eine beliebige Anzahl von Zeichen bzw. ein einzelnes Zeichen zu finden.
  3. Wir können auch die ESCAPE-Klausel einschließen, um ein Fluchtzeichen anzugeben, das verwendet wird, um nach den eigentlichen Platzhalterzeichen zu suchen.

Beispiele für Oracle LIKE-Operatoren

Die folgenden Beispiele zeigen, wie der LIKE-Operator in einer Oracle-Tabelle verwendet wird.

Angenommen, wir haben eine Tabelle mit Kundeninformationen wie unten gezeigt:

Beispiel 1 – Verwendung der %-Wildcard-Zeichen

Wir können die Platzhalterzeichen % verwenden, um beliebige Zeichenfolgen mit null oder mehr Zeichen abzugleichen. Beispielsweise können wir alle Einträge in einer Tabelle finden, die den Namen „Will%“ enthalten.

Nehmen Sie die unten gezeigte Mitarbeitertabelle:

wählen Vorname, Nachname, Gehalt
von MITARBEITERN
wo FIRST_NAME gefällt 'Wille%'
nach Vorname sortieren;

Die vorherige Abfrage wählt die Spalten „first_name“, „last_name“ und „salary“ aus der Tabelle „Employees“ aus und sortiert die resultierenden Werte nach der Spalte „first_name“.

Wir kombinieren auch eine where-Klausel in Verbindung mit einem LIKE-Operator mit den Platzhalterzeichen %, um nur die Zeilen abzurufen, deren Vorname mit „Will“ beginnt.

Dies sollte die Zeilen wie folgt zurückgeben:

Wir können auch das Platzhalterzeichen % verwenden, um die Zeilen abzurufen, die in einem bestimmten Muster enden.

Ein Beispiel ist unten gezeigt:

wählen Vorname, Nachname, Gehalt
von MITARBEITERN
wo FIRST_NAME gefällt '%ist'
nach Vorname sortieren;

In diesem Fall sollte die vorherige Abfrage alle Zeilen zurückgeben, in denen der Vorname auf „er“ endet. Ein Beispiel für einen resultierenden Wert ist unten dargestellt:

Der LIKE-Operator der Oracle-Datenbank unterscheidet standardmäßig zwischen Groß- und Kleinschreibung, daher ist es wichtig, dies bei der Suche nach bestimmten Mustern zu berücksichtigen. Sie können andere Funktionen wie Lower und Upper verwenden, um dieses Verhalten zu negieren.

Beispiel 2 – Verwenden der Escape-Klausel

Das folgende Beispiel zeigt, wie die ESCAPE-Klausel im Oracle LIKE-Operator verwendet wird:

wählen vorname, nachname, gehalt, provisions_pct
von MITARBEITERN
wo provisions_pct wie 'zwanzig\%' Flucht '\' ;

Die vorherige Abfrage wählt die Spalten „first_name“, „last_name“, „salary“ und „provision_pct“ aus der Tabelle „EMPLOYEES“ aus. Die WHERE-Klausel verwendet den LIKE-Operator mit der ESCAPE-Klausel, um die Datensätze abzurufen, bei denen die Commission_pct-Spalte die Zeichenfolge „20 %“ enthält (mit einem wörtlichen %-Zeichen, nicht einem Platzhalter).

In diesem Fall maskieren wir das %-Zeichen mit einem umgekehrten Schrägstrich (\), wenn wir nach der Zeichenfolge 20 % suchen. Dadurch kann der LIKE-Operator nach der genauen Zeichenfolge „20 %“ suchen, anstatt das %-Zeichen als Platzhalter zu behandeln.

Diese Abfrage würde alle Zeilen aus der Tabelle EMPLOYEES zurückgeben, in denen die Spalte provisions_pct die exakte Zeichenfolge „20 %“ enthält, zusammen mit den Spalten Vorname, Nachname und Gehalt für diese Zeilen.

Fazit

In diesem Beitrag haben Sie gelernt, wie Sie den LIKE-Operator in Oracle-Datenbanken verwenden, um nach bestimmten Mustern in einer Tabelle zu suchen. Es werden mehrere Beispiele bereitgestellt, um die Verwendung von Platzhalterzeichen und der ESCAPE-Klausel hervorzuheben.