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