


Sprechen Sie über das Problem der Einbindung von SQL-Abfragefeldern in Anweisungen
Apropos SQL-Fuzzy-Abfragen: Das erste, was mir in den Sinn kommt, sollte das Schlüsselwort „like“ sein. Wenn wir Daten abfragen müssen, die ein bestimmtes Feld enthalten, verwenden wir häufig die Abfragemethode „%keyword%“. Spezifische Codebeispiele finden Sie in diesem Artikel
Vorwort
Wenn es um Fuzzy-Abfragen in SQL geht, ist das Erste, was passiert mind sollte das Schlüsselwort like sein.
Wenn wir Daten abfragen müssen, die ein bestimmtes Feld enthalten, verwenden wir häufig die Abfragemethode „%keyword%“. Zum Beispiel:
SELECT ... FROM 表名 WHERE 字段名 LIKE '%关键字%'
Dies sollte als typische „enthält XXX“-Methode betrachtet werden, aber was ist, wenn wir Daten abfragen müssen, deren Felder in bestimmten Zeichen enthalten sind? ?
Zum Beispiel habe ich eine Kontaktdatentabelle ConnectName, die ein Feld zum Aufzeichnen von Namen enthält. Ich möchte die Kontaktinformationen der Personen Xiaolan und Haiyuan erhalten. Unter normalen Umständen fällt uns als Erstes Folgendes ein:
SELECT * FROM ConnectName WHERE name = '小兰' OR name = '灰原'
Dieser Ansatz kann diesen Zweck erreichen. Wenn ich zu diesem Zeitpunkt plötzlich eine andere Person überprüfen möchte, beispielsweise „Conan“, müssen wir die SQL-Struktur ändern und einen Where-Bedingungssatz hinzufügen:
SELECT * FROM ConnectName WHERE name = '小兰' OR name = '灰原' OR name = '柯南'
Wir wissen, dass die OR-bedingte Abfrage selbst ineffizient ist und die Strukturänderungsanweisung in MyBatis etwas schwieriger zu implementieren ist (natürlich kann sie auch implementiert werden, indem man einfach die eingefügten Felder durchläuft).
Kann es einfacher sein? Kann ich alle Schlüsselwörter zusammenfassen und nur eine Where-Bedingung verwenden, um dies zu erreichen?
CHARINDEX erscheint
Zu diesem Zeitpunkt können wir das Schlüsselwort CHARINDEX verwenden, um ein bestimmtes Feld zurückzugeben, das in einer Textzeichenfolge erscheint Die Position ähnelt der Verwendung von Strings indexOf. Lassen Sie uns ohne weiteres eine Kastanie angeben:
CHARINDEX('李白','曹操很帅') =0
In der Kastanie oben ist sie nicht enthalten, da Cao Cao ist ein sehr schönes Schlüsselwort, daher kann es nicht gefunden werden, und der Index der Zeichen wird 1 zurückgegeben.
Nachdem wir verstanden haben, wie es verwendet wird, können wir das Schlüsselwort CHARINDEX zur Optimierung verwenden unsere SQL-Anweisung:
CHARINDEX('李白','李白很帅') =1
Wenn der dem Namensfeld entsprechende Name in „Conan Xiaolan Haibara“ erscheint, dann gibt die CHARINDEX-Funktion einen Wert größer als 1 zurück, und wir können die Daten bekommen, die wir wollen (die drei können auch fröhlich zusammen spielen) ^-^)
Die entsprechende mybatis-Implementierung ist auch relativ einfach
SELECT * FROM ConnectName WHERE CHARINDEX(name ,'小兰灰原柯南')>0
Wenn wir später eine neue Person hinzufügen möchten, beispielsweise Mouri Kogoro, müssen Sie nur „Xiaolan Haibara Conan Mouri Kogoro“ zu den eingehenden Parametern hinzufügen.
Das obige ist der detaillierte Inhalt vonSprechen Sie über das Problem der Einbindung von SQL-Abfragefeldern in Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

NoSuchFieldError in Java – Lösung für das nicht gefundene Feld Java ist eine höhere Programmiersprache, die häufig in Unternehmensanwendungen und der Datenverarbeitung im großen Maßstab verwendet wird. Während des Entwicklungsprozesses von Java können Fehler wie NoSuchFieldError auftreten. Dieser Fehler bedeutet, dass die JVM das erforderliche Feld zur Laufzeit nicht finden kann. In diesem Artikel werfen wir einen tieferen Blick auf NoSuchFieldError und wie man es beheben kann. Was ist NoSuchFieldE?

PHP ist eine in der Website-Entwicklung weit verbreitete Skriptsprache. Für Entwickler ist es oft notwendig, festzustellen, ob ein Feld leer ist. In PHP kann mit einigen einfachen Methoden festgestellt werden, ob ein Feld leer ist. In diesem Artikel erfahren Sie, wie Sie feststellen können, ob ein Feld in PHP leer ist, und stellen spezifische Codebeispiele als Referenz bereit. In PHP können Sie normalerweise die Funktion empty() oder isset() verwenden, um festzustellen, ob ein Feld leer ist. Als nächstes stellen wir die Verwendung dieser beiden Funktionen vor. Verwenden Sie die Funktion empty()

jQuery ist eine bekannte JavaScript-Bibliothek, die einfache und leistungsstarke Funktionen zur Vereinfachung der JavaScript-Programmierung bereitstellt. Wenn Sie jQuery in Ihr Webprojekt einführen, müssen Sie der HTML-Datei den folgenden Code hinzufügen, um die erforderlichen Pakete einzuführen: Meine Webseite

Ein MySQL-Feld ist eine Spalte eines bestimmten Typs und einer bestimmten Länge in einer MySQL-Datenbanktabelle, die zum Speichern von Daten verwendet wird. In MySQL muss jedes Feld einen bestimmten Datentyp haben, darunter Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, Datumsangaben und Uhrzeiten.

Mit der Entwicklung von Webanwendungen wurde die PHP-Sprache in großem Umfang in der Webentwicklung eingesetzt. In der PHP8.0-Version wurde eine neue Sprachfunktion eingeführt – die Multi-Catch-Anweisung. Was ist eine Multi-Catch-Anweisung? In früheren PHP-Versionen mussten Entwickler mehrere Catch-Anweisungen schreiben, um mehrere Ausnahmetypen zu behandeln. Der folgende Codeblock zeigt beispielsweise die Behandlung von zwei verschiedenen Ausnahmen: try{//Somecodethatmay

Wie kann ich mithilfe von JavaScript feststellen, ob eine Zeichenfolge bestimmte Zeichen enthält? In JavaScript können wir verschiedene Methoden verwenden, um festzustellen, ob eine Zeichenfolge bestimmte Zeichen enthält. Im Folgenden werden drei häufig verwendete Methoden vorgestellt und entsprechende Codebeispiele gegeben. Methode 1: Verwenden Sie die Methode indexOf() Sie können die Methode indexOf() der Zeichenfolge verwenden, um zu bestimmen, ob eine Zeichenfolge die angegebenen Zeichen enthält. Es gibt den Index des ersten Vorkommens eines bestimmten Zeichens in einer Zeichenfolge zurück, z

Methoden zum Hinzufügen von Feldern in der Tabelle: 1. Verwenden Sie die Anweisung „ALTER TABLE table name ADD new field name data type;“, um Felder am Ende hinzuzufügen. 2. Verwenden Sie die Anweisung „ALTER TABLE table name ADD new field name data type FIRST;“ "-Anweisung, um es am Anfang hinzuzufügen Field; 3. Verwenden Sie die Anweisung „ALTER TABLE table name ADD new field name data type [constraints] AFTER previous field name;", um ein Feld in der Mitte hinzuzufügen.

Wie implementiert man die Anweisung zum Einfügen von Daten in MySQL? Bei der Verwendung einer MySQL-Datenbank ist das Einfügen von Daten ein sehr einfacher und häufiger Vorgang. Durch das Einfügen von Daten können neue Datensätze zu Datenbanktabellen hinzugefügt werden, um den Geschäftsbetrieb zu unterstützen. In diesem Artikel wird erläutert, wie Sie mit der INSERT-Anweisung in MySQL Dateneinfügungsvorgänge implementieren, und es werden spezifische Codebeispiele bereitgestellt. Die INSERT-Anweisung in MySQL wird verwendet, um neue Datensätze in die Datenbanktabelle einzufügen. Das grundlegende Syntaxformat lautet wie folgt: INSERTINTOt
