首页 >数据库 >mysql教程 >如何在 MySQL 中的预准备语句中使用 LIKE 通配符?

如何在 MySQL 中的预准备语句中使用 LIKE 通配符?

Barbara Streisand
Barbara Streisand原创
2024-12-14 08:48:11916浏览

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

在准备好的语句中使用“like”通配符

当使用准备好的语句通过基于关键字的搜索功能执行 MySQL 数据库查询时,“like”通配符可用于查找部分匹配。要将“like”通配符与预准备语句一起使用,必须在值本身中设置,而不是在预准备语句 SQL 字符串中设置。

对于前缀匹配,应将值替换为后面的关键字使用百分号(“%”),同时转义值中的任何特殊字符。例如:

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

对于后缀匹配,该值应设置为百分号后跟关键字。

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

对于全局匹配,应设置该值关键字前后各有一个百分号。

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

以上是如何在 MySQL 中的预准备语句中使用 LIKE 通配符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn