Heim  >  Artikel  >  Java  >  Wie verwende ich den LIKE-Platzhalter in vorbereiteten Anweisungen für schlüsselwortbasierte Suchen in MySQL?

Wie verwende ich den LIKE-Platzhalter in vorbereiteten Anweisungen für schlüsselwortbasierte Suchen in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-17 15:38:01390Durchsuche

How do I use the LIKE wildcard in prepared statements for keyword-based searches in MySQL?

Verwendung des „like“-Platzhalters in vorbereiteten Anweisungen

Bei der Implementierung einer Suchfunktion basierend auf einem Schlüsselwort mithilfe vorbereiteter Anweisungen in SQL ist es notwendig, diese zu verwenden das Schlüsselwort LIKE. Es kann jedoch verwirrend sein, zu verstehen, wie es in die vorbereitete Anweisung integriert wird.

Um den Schlüsselworttext in der vorbereiteten Anweisung anzugeben, ist es wichtig, ihn innerhalb des Werts selbst und nicht in der SQL-Zeichenfolge der vorbereiteten Anweisung festzulegen . Daher wäre die richtige Vorgehensweise zum Implementieren einer Präfix-Match-LIKE-Suche wie folgt:

notes = notes
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");
PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");

Alternativ können Suffix-Match- und Global-Match-Varianten mit ähnlichen Techniken implementiert werden:

// Suffix match
pstmt.setString(1, "%" + notes);

// Global match
pstmt.setString(1, "%" + notes + "%");

Durch die Verwendung dieser Techniken kann man das Schlüsselwort LIKE in vorbereiteten Anweisungen effektiv nutzen, um schlüsselwortbasierte Suchen in MySQL-Abfragen durchzuführen.

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

Stellungnahme:
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