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