首页 > Java > java教程 > 如何在 MySQL 中基于关键字的搜索的准备语句中使用 LIKE 通配符?

如何在 MySQL 中基于关键字的搜索的准备语句中使用 LIKE 通配符?

Mary-Kate Olsen
发布: 2024-11-17 15:38:01
原创
464 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板