SQL Wildcard -Suche

SQL Wildcard -Suche

Wildcard -Charaktere sind Sonderzeichen, die als Platzhalter für einen oder mehrere Werte dienen. Sie sind maßgeblich bei der Suche nach bestimmten Mustern in Text- oder String -Typen.

In SQL spielen Wildcards eine wesentliche Rolle, da Sie es Ihnen ermöglichen, eine „Fuzzy“ -Suche nach übereinstimmenden Werten durchzuführen, ohne den genauen Wert zu kennen.

In diesem Artikel werden wir verschiedene Wildcard -Charaktere in Standard -SQL untersuchen. Beachten Sie, dass die Implementierung je nach Ihrer Datenbank -Engine variieren kann.

Standard SQL Wildcard -Charaktere

Es gibt zwei Arten von Wildcard -Charakteren, die in Standard -SQL unterstützt werden:

Charakter Beschreibung
% (Prozentzeichen) Passen Sie Null oder mehr Zeichen an
_ (Unterstrahlungszeichen) Passen Sie einen einzelnen Charakter an

Hinweis: Obwohl alle Datenbankmotoren die zuvor genannten Wildcards unterstützen, verwendet MS Access ein Sternchen (*), um Null oder mehr Zeichen darzustellen.

Verwenden von SQL Wildcard -Operatoren

Wir verwenden die gleiche Klausel, um mit Wildcards nach Übereinstimmungsmustern zu suchen. In einigen Fällen finden Sie möglicherweise die Ilike-Klausel, eine von Fall unempfindliche Version des gleichen Operators.

Beispiel Verwendung i

Um beispielsweise nach allen Benutzern zu suchen, deren Namen mit AA beginnen, können wir wie unten gezeigt eine Abfrage ausführen:

Wählen Sie Column_Name aus table_name, wobei der Name '%aa';

Die vorherige Abfrage sollte die angegebene Tabelle nach allen übereinstimmenden Datensätzen durchsuchen, deren Name mit AA beginnt.

Nachstehend ist ein Beispielergebnis gezeigt:

Aabid
Aadeep
Aadesh
Aadam
Aaron

Sie können auch den Ilike -Operator verwenden, der der Suche ohne Rücksicht auf das Gehäuse übereinstimmt.

Wählen Sie Column_Name aus table_name, wobei der Name ilike '%aa';
-- Aabid
-- Aadeep
-- Aadesh
-- Aadam
-- Aaron

Hinweis: Alle Datenbankmotoren unterstützen den Ilike -Operator möglicherweise nicht.

Sie können auch suchen, ob eine Zeichenfolge ein bestimmtes Substring enthält, indem Sie die Abfrage als:

Wählen Sie Column_Name (s) aus table_name, wobei der Name '%sun%' wie "%sun%";

In der vorherigen Syntax gibt SQL alle Saiten zurück, die die Substring -Sonne enthalten.

Hinweis: Verwenden Sie die vorherige Funktion mit Vorsicht. Es kann zu erheblichen Leistungsstrafen in Ihrer Datenbank führen, insbesondere bei einem großen Datensatz.

Um zu suchen, wenn eine Zeichenfolge mit einem bestimmten Zeichen oder Substring endet, führen Sie den folgenden Befehl aus:

Wählen Sie column_name (s) aus table_name, wobei der Name '% mag wie'%.com ';

Der vorherige Befehl sollte alle passenden Zeichenfolgen zurückgeben, die mit enden .com

Beispiel Verwendung II

In einigen Fällen möchten Sie möglicherweise nach einem Matching -Charakter suchen. In diesem Fall können Sie eine Unterstriche wie folgt verwenden:

Wählen Sie Column_Name (s) aus table_name, wobei der Name '_e%r%' wie '_e%r%';

Die vorherige Beispielabfrage sollte nach Übereinstimmungen mit einem einzelnen Startcharakter suchen.

Hier ist ein Beispielergebnis:

Peter

SQL Negation

Obwohl der Operator Like und Ilike großartig für die Suche nach passenden Datensätzen ist, möchten Sie möglicherweise mit Datensätzen arbeiten, die nicht mit der angegebenen Wildcard -Suche übereinstimmen.

Dafür können Sie Ihr Ergebnis negieren, indem Sie den Zustand nicht mögen oder nicht, wie unten gezeigt:

Wählen Sie Column_Name aus table_name, wobei der Name nicht '%aa' mag;

In diesem Fall sollte der vorherige Befehl alle anderen Ergebnisse zurückgeben, mit Ausnahme derjenigen, die mit AA beginnt.

Abschluss

Dieser Artikel wurde unter Verwendung von Wildcard -Operatoren in Standard -SQL untersucht und zusammenarbeitet. Wie bereits erwähnt, können einige Datenbankmotoren mehr oder weniger Wildcard -Charaktere implementieren. Überprüfen Sie die Dokumentation für Ihren Motor, um mehr zu erfahren. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in den anderen Linux -Hinweisartikeln.