Orakel wie

Orakel wie

In Oracle und anderen relationalen Datenbanken ist das Muster -Matching eine beliebte Funktion, mit der Sie mit speziellen Syntaxen nach String -Mustern suchen können. Beispiel.

Dies macht es sehr nützlich, um einfache Suchklauseln zu erstellen, ohne erhebliche Leistungsstrafen in der Datenbank zu ermöglichen.

In diesem Tutorial stoßen Sie in Oracle auf den gleichgleichen Bediener, um Abfragen für Musteranpassungen durchzuführen.

Oracle wie Operator

Mit dem Operator in Oracle können Sie in einer bestimmten Spalte nach einem bestimmten Muster suchen. Sie können es beispielsweise verwenden, um alle Zeilen zu finden, in denen der Vorname eines Kunden mit dem Muster 'Ja' beginnt, beginnt.

Sie werden häufig feststellen, dass dieser Bediener in Verbindung mit anderen SQL.

Wir können die Syntax des gleichen Operators in SQL wie unten gezeigt ausdrücken:

Ausdruck wie Muster [Escape 'Escape_character']
  1. Der Expressionsparameter gibt die Spalte an, nach der Sie suchen möchten.
  2. Der Musterparameter definiert das spezifische Muster, nach dem Sie suchen möchten. Das angegebene Muster kann Wildcard -Zeichen wie % und _ enthalten, um eine beliebige Anzahl von Zeichen bzw. einem einzelnen Zeichen zu entsprechen.
  3. Wir können auch die Escape -Klausel einfügen, um ein Fluchtcharakter anzugeben, mit dem nach den tatsächlichen Wildcard -Charakteren gesucht wurde.

Oracle wie Operator Beispiele

Die folgenden Beispiele zeigen, wie man den gleichen Operator in einer Oracle -Tabelle verwendet.

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

Beispiel 1 - Verwenden der % Wildcard -Charaktere

Wir können die % Wildcard -Charaktere verwenden, um alle Zeichenfolgen von Null oder mehr Zeichen zu entsprechen. Zum Beispiel finden wir alle Einträge in einer Tabelle, die den Namen "Will%" enthält.

Nehmen Sie die unten gezeigte Tabelle der Mitarbeiter:

Wählen Sie First_Name, last_name, Gehalt aus
von Mitarbeitern
wo First_Name wie 'Will%'
Bestellung von First_Name;

Die vorherige Abfrage wählt die Spalten First_Name, Last_Name und Gehaltsgehalt aus der Tabelle der Mitarbeiter aus und bestellt die resultierenden Werte nach der Spalte First_Name.

Wir kombinieren auch eine Where -Klausel in Verbindung mit einem ähnlichen Operator mit den % Wildcard -Charakteren, um nur die Reihen zu holen, in denen der Vorname mit "Will" beginnt.

Dies sollte die Zeilen als:

Wir können auch den % Wildcard -Charakter verwenden, um die Zeilen zu holen, die in einem bestimmten Muster enden.

Ein Beispiel ist unten gezeigt:

Wählen Sie First_Name, last_name, Gehalt aus
von Mitarbeitern
wo First_Name wie '%er'
Bestellung von First_Name;

In diesem Fall sollte die vorherige Abfrage alle Zeilen zurückgeben, an denen der Vorname in 'er' endet. Ein Beispiel, das sich daraus ergibt, wird unten angezeigt:

Die Oracle-Datenbank wie Operator ist standardmäßig von Fall sensitiv. Daher ist es wichtig, dies zu berücksichtigen, während sie nach bestimmten Muster suchen. Sie können andere Funktionen wie Unter- und Obermaterial verwenden, um dieses Verhalten zu negieren.

Beispiel 2 - Verwenden der Escape -Klausel

Das folgende Beispiel zeigt, wie die Escape -Klausel in Oracle wie Operator verwendet wird:

Wählen Sie First_Name, last_name, Gehalt, commission_pct aus
von Mitarbeitern
wobei commission_pct wie '20 \%'Escape' \ ';

Die vorherige Abfrage wählt die Spalten First_Name, Last_Name, Gehalt und Commission_PCT aus der Mitarbeitertabelle aus. In der WHERE -Klausel wird der ähnliche Operator mit der Escape -Klausel verwendet, um die Datensätze abzurufen, in denen die Spalte commission_pct die String '20 % 'enthält (mit einem wörtlichen % -Scharakter, nicht einer Platzkarte).

In diesem Fall entkommen wir dem % -Scharakter mit einem Backslash (\) -Scharakter bei der Suche nach der Zeichenfolge 20 %. Dadurch kann der gleiche Bediener nach dem exakten String '20 % 'suchen, anstatt den % -Scharakter als Platzhalter zu behandeln.

Diese Abfrage würde alle Zeilen aus der Tabelle der Mitarbeiter zurückgeben, in der die Spalte commission_pct die genaue Zeichenfolge '20%'zusammen mit dem First_Name, last_name und Gehaltsspalten für diese Zeilen enthält.

Abschluss

In diesem Beitrag haben Sie gelernt, wie man den gleichen Bediener in Oracle -Datenbanken verwendet, um nach bestimmten Mustern in einer Tabelle zu suchen. Es werden mehrere Beispiele zur Verfügung gestellt, um mit Wildcard -Charakteren und der Escape -Klausel hervorzuheben.