我有一个项目表,其中我有一个项目名称,并且该项目名称可能包含任何特殊字符或任何字母数字值或数字字或特殊字符的任何组合。
现在我需要在其中应用关键字搜索,并且搜索中可能包含任何特殊字符。
所以我的问题是:我们如何在数据库中搜索单个或多个特殊字符?
我正在使用带有 java hibernate api 的 mysql 5.0。
这应该可以通过对您的查询进行一些简单的清理来实现。
例如:搜索\@(%*#$\
变为:
SELECT * FROM foo WHERE name LIKE "%\\@(\%*#$\\%";
评估时,反斜杠转义,以便搜索最终成为包含的任何内容"\@(%*#$\"
一般来说,字符串中的任何特殊字符都可以通过反斜杠进行转义。如果你有这样的名字,这只会变得很棘手:"\\foo\\bar\\"
正确转义将成为"\\\\foo\\\\bar\\\\"
附注,请在最终确定之前对您的帖子进行校对。当您的问题标题中有拼写错误时,它真的很令人沮丧并且表现出缺乏努力。