Sammlung von MySQL-Fuzzy-Abfrageanweisungen

Sammlung von MySQL-Fuzzy-Abfrageanweisungen

SQL-Fuzzy-Abfrageanweisung

Die allgemeine Fuzzy-Anweisungssyntax lautet wie folgt:

SELECT-Feld FROM Tabelle WHERE ein Feld Wie Bedingung

Bezüglich der Bedingungen bietet SQL vier Übereinstimmungsmodi:

1. %: steht für beliebige 0 oder mehr Zeichen. Es kann mit Zeichen beliebigen Typs und beliebiger Länge übereinstimmen. In einigen Fällen werden zur Darstellung chinesischer Zeichen zwei Prozentzeichen (%%) verwendet.

SELECT * FROM [Benutzer] WHERE u_name LIKE '%三%'

Alle Datensätze mit dem Buchstaben „drei“ in u_name, wie „Zhang San“, „Zhang Mao San“, „Dreibeinige Katze“, „Tang Sanzang“ usw. werden gefunden. Wenn Sie außerdem Datensätze finden müssen, die sowohl "三" als auch "猫" in u_name enthalten, verwenden Sie die Bedingung und

SELECT * FROM [Benutzer] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

Bei Verwendung

SELECT * FROM [Benutzer] WHERE u_name LIKE '%三%猫%'

Sie können zwar nach „三脚猫“ suchen, jedoch nicht nach „张猫三“, was den Kriterien entspricht.

2. _: steht für ein beliebiges einzelnes Zeichen. Entspricht einem einzelnen beliebigen Zeichen, das häufig verwendet wird, um die Zeichenlänge der Ausdrucksanweisung zu begrenzen:

SELECT * FROM [Benutzer] WHERE u_name LIKE '_三_'

Suchen Sie nur nach „唐三藏“ und anderen Namen, deren u_name aus drei Zeichen besteht und der mittlere Buchstabe „三“ ist.

SELECT * FROM [Benutzer] WHERE u_name LIKE '三__';

Suchen Sie nur nach Namen mit drei Zeichen, z. B. „三脚猫“, wobei das erste Zeichen „三“ ist.

3. [ ]: steht für eines der in der Klammer aufgeführten Zeichen (ähnlich wie bei regulären Ausdrücken). Gibt ein Zeichen, eine Zeichenfolge oder einen Bereich an. Die Übereinstimmung muss mit einem dieser Werte übereinstimmen.

SELECT * FROM [Benutzer] WHERE u_name LIKE '[Benutzername]Name'

findet „Zhang San“, „Li San“, „Wang San“ (aber nicht „Zhang Li Wang San“);

Wenn in [ ] eine Reihe von Zeichen enthalten ist (z. B. 01234, abcde usw.), kann dies als „0-4“, „ae“ abgekürzt werden.

SELECT * FROM [Benutzer] WHERE u_name LIKE '老[1-9]'

findet „Alt 1“, „Alt 2“, ..., „Alt 9“;

4. [^ ]: steht für ein einzelnes Zeichen, das nicht in der Klammer aufgeführt ist. Sein Wert ist derselbe wie [], aber es erfordert, dass das übereinstimmende Objekt ein anderes Zeichen als die angegebenen Zeichen ist.

SELECT * FROM [Benutzer] WHERE u_name LIKE '[^张李王]三'

Wir werden „Zhao San“, „Sun San“ usw. finden, die nicht „Zhang“, „Li“ oder „Wang“ heißen;

SELECT * FROM [Benutzer] WHERE u_name LIKE '老[^1-4]';

Wir schließen „alt 1“ bis „alt 4“ aus und suchen nach „alt 5“, „alt 6“, …

5. Wenn der Abfrageinhalt Platzhalter enthält

Aufgrund des Platzhalters können unsere Abfrageanweisungen für die Sonderzeichen "%", "_" und "[" nicht normal umgesetzt werden. Wir können jedoch normal abfragen, indem wir die Sonderzeichen in "[ ]" einschließen. Darauf aufbauend schreiben wir folgende Funktion:

Funktion sqlencode(str)

str=replace(str,"[","[[]") 'Dieser Satz muss am Anfang stehen str=replace(str,"_","[_]")

str=ersetzen(str,"%","[%]")

sqlencode=str

Endfunktion

Vor der Abfrage kann der zu suchende String mit dieser Funktion aufbereitet werden.

Oben finden Sie den detaillierten Inhalt der SQL-Fuzzy-Abfrageanweisung. Wenn Sie Ergänzungen haben, wenden Sie sich bitte an den Herausgeber von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Einige allgemeine SQL-Anweisungen in MySQL
  • Organisieren Sie die häufig verwendeten MySql-Abfrageanweisungen (23 Typen).
  • Die umfassendste Sammlung von MySQL-Abfrageanweisungen
  • MySQL-Anweisungsanordnung und zusammenfassende Einführung
  • Zusammenfassung der MySQL-DML-Anweisungen
  • Zusammenfassung der MySQL-Anweisungen
  • In der MySQL-Datentabelle verwendete SQL-Anweisungsanordnung

<<:  Detaillierte Erklärung der perfekten Lösung für das VMware-Problem mit dem schwarzen Bildschirm nach dem Upgrade auf MacOS Catalina

>>:  Umfassendes Verständnis der Node-Ereignisschleife

Artikel empfehlen

HTML (CSS-Stilspezifikation) muss lauten

CSS-Stilspezifikationen 1. Klassenauswahl 2. Tag-...

Grundlegende Anwendungsbeispiele für Listener in Vue

Inhaltsverzeichnis Vorwort 1. Grundlegende Verwen...

Konfigurationshandbuch für den Lastenausgleich auf Ebene 4 von Nginx

1. Einführung in Layer 4 Load Balancing Was ist L...

WeChat-Applet-Entwicklung Formularvalidierung WxValidate-Nutzung

Ich persönlich bin der Meinung, dass das Entwickl...

Einigen Eigenschaften in CSS geht ein "*" oder "_" voraus.

Einigen Eigenschaften in CSS geht ein "*&quo...

Ein einfaches Beispiel für eine gemeinsame MySQL-Tabellenabfrage

MySql verwendet verknüpfte Tabellenabfragen, die ...

Tutorial zur Verwendung von Profilen in MySQL

Was ist ein Profil? Wir können es verwenden, wenn...

Lassen Sie uns ausführlich über die gemeinsame MySQL-Abfrage sprechen

Inhaltsverzeichnis Union-Abfrage 1. Fragen Sie di...

Ein kurzer Vortrag über JavaScript Sandbox

Vorwort: Apropos Sandboxen: Wir denken vielleicht...

Containerisierungstransformation für Docker-Großprojekte

Virtualisierung und Containerisierung sind zwei u...

Vue3.0 Handschrift-Lupeneffekt

Der zu erzielende Effekt ist: Festes Vergrößern a...