mysql LIKE 子句转义符处理
MySQL 在字符串中使用的是C的转义句法(例如“\n”), 所以在 LIKE 字符串中使用的任何一个 “\” 必须被双写。 例如,为了查找 “\n”,必须以 “\\n” 形式指定它。为了查找 “\”,必须指定它为 “\\\\” (反斜线被语法分析器剥离一次,另一次在模式匹配时完成,留下一条单独的反斜线被匹配)。
private String filtrateLikeSql(String value){
if(null!=value){
String newValue="";
newValue=value.replaceAll("\\\\","\\\\\\\\");
newValue=newValue.replaceAll("'","\\\\'");
newValue=newValue.replaceAll("_","\\\\_");
newValue=newValue.replaceAll("\"","\\\\\"");
newValue=newValue.replaceAll("%","\\\\%");
return newValue;
}
return value;
}
private String filtrateNotLikeSql(String value){
if(null!=value){
String newValue="";
newValue=value.replaceAll("\\\\","\\\\\\\\");
newValue=newValue.replaceAll("\"","\\\\\"");
return newValue;
}
return value;
}