java - 搜索包含所有特殊字符的数据库表

标签 java mysql database spring hibernate

我有一个项目表,其中有一个项目名称,并且该项目名称可能包含任何特殊字符或任何字母数字值或数字词或特殊字符的任何组合。

现在我需要在其中应用关键字搜索,并且搜索中可能包含任何特殊字符。

所以我的问题是:我们如何在数据库中搜索单个或多个特殊字符?

我正在使用 mysql 5.0 和 java hibernate api。

最佳答案

这应该可以通过对查询进行一些简单的清理来实现。

例如:搜索 \@(%*#$\ 变为:

SELECT * FROM foo WHERE name LIKE "%\\@(\%*#$\\%";

评估时,反斜杠会转义,以便搜索最终成为包含 "\@(%*#$\"

的任何内容

一般来说,字符串中的任何特殊字符都可以通过反斜杠转义。如果您的名称如下: "\\foo\\bar\\" ,正确转义后会变成 "\\\\foo\\\\bar\\\\"

附注,请在最终确定之前校对您的帖子。当你的问题标题中有拼写错误时,这真的很令人沮丧,并且表明你缺乏努力。

关于java - 搜索包含所有特殊字符的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19034608/

相关文章:

java - xpath 重命名疯狂层次结构中的单个类

java - 如何在 Android 中使用 SVN 管理文件权限

java - 将整数颜色值转换为 RGB

mysql - 错误 1288 : The target table is not updatable in MySQL trigger

mysql - SQL 表别名

java - 有没有办法判断一个java程序是否是第一次运行?

php - 是否有任何配置或 INNODB 原则导致以下 MYSQL 更新不一定执行所有更新?

mysql - Mysql中表之间的父类型和子类型关系的语法

sql - 在同一实例上创建 SQL Server 2012 数据库的空白副本

android - 如何获取 ListView 的选定索引或位置并传递到新的 Activity 中?