首頁  >  文章  >  Java  >  如何在 MySQL 中基於關鍵字的搜尋的準備語句中使用 LIKE 通配符?

如何在 MySQL 中基於關鍵字的搜尋的準備語句中使用 LIKE 通配符?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-17 15:38:01390瀏覽

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

在準備語句中使用「like」通配符

在SQL 中使用準備語句實現基於關鍵字的搜尋功能時,有必要利用LIKE 關鍵字。然而,理解如何將其合併到準備好的語句中可能會令人困惑。

要在準備好的語句中指定關鍵字文本,至關重要的是將其設定在值本身中,而不是在準備好的語句的 SQL 字串中。因此,實現前綴匹配LIKE 搜尋的正確方法如下:

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

或者,可以使用類似的技術實現後綴匹配和全局匹配變體:

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

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

透過使用這些技術,人們可以有效地利用準備好的語句中的LIKE 關鍵字在MySQL 查詢中執行基於關鍵字的搜尋。

以上是如何在 MySQL 中基於關鍵字的搜尋的準備語句中使用 LIKE 通配符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn