Heim > Java > javaLernprogramm > Wie verwende ich LIKE-Platzhalter mit vorbereiteten Anweisungen in MySQL-Abfragen?

Wie verwende ich LIKE-Platzhalter mit vorbereiteten Anweisungen in MySQL-Abfragen?

Patricia Arquette
Freigeben: 2024-11-15 09:11:03
Original
865 Leute haben es durchsucht

How to Use LIKE Wildcard with Prepared Statements in MySQL Queries?

Verwendung des LIKE-Platzhalters mit vorbereiteten Anweisungen in MySQL-Abfragen

In MySQL-Datenbankabfragen ermöglicht der LIKE-Operator musterbasierte Suchen. Bei der Verwendung vorbereiteter Anweisungen zum Ausführen solcher Abfragen ist es wichtig, den LIKE-Platzhalter korrekt einzubinden.

Eine häufige Anforderung ist die Durchführung einer Präfix-Match-Suche. Um dies zu erreichen, sollte das Schlüsselwort % an den Suchbegriff angehängt werden. Bei der Verwendung von vorbereiteten Anweisungen ist es jedoch falsch, den Platzhalter direkt mit dem Parameterwert zu verketten.

Legen Sie stattdessen den Wert selbst in der Abfrage der vorbereiteten Anweisung fest. Für eine Präfixübereinstimmung ändern Sie den Suchbegriff wie folgt:

notes = notes
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");

PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");
Nach dem Login kopieren

Das Schlüsselwort ESCAPE gibt das Escape-Zeichen an, das zum Escapezeichen von Sonderzeichen innerhalb des Platzhalters verwendet wird. Standardmäßig ist es ein Backslash (), kann aber in ein beliebiges Zeichen geändert werden.

Verwenden Sie für eine Suffix-Übereinstimmung in ähnlicher Weise Folgendes:

pstmt.setString(1, "%" + notes);
Nach dem Login kopieren

Und für eine globale match:

pstmt.setString(1, "%" + notes + "%");
Nach dem Login kopieren

Durch das Setzen des Platzhalters im Suchbegriff kann der LIKE-Operator effektiv mit vorbereiteten Anweisungen verwendet werden, um verschiedene musterbasierte Suchen durchzuführen MySQL-Datenbanken.

Das obige ist der detaillierte Inhalt vonWie verwende ich LIKE-Platzhalter mit vorbereiteten Anweisungen in MySQL-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage