在准备语句中使用“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中文网其他相关文章!