您的位置:首页 > 数据库

SQL模糊查询注意事项

2014-03-31 18:10 295 查看
1.解决全角转半角问题 StringUtil.ToDBC
(已包含去空格)

2.特殊字符转Ascii码

public static String signToAscii(String str) {

str = replaceStringWithString(str, "'", "'||chr(39)||'");

str = replaceStringWithString(str, ",", "'||chr(44)||'");

str = replaceStringWithString(str, "\"", "'||chr(34)||'");

str = replaceStringWithString(str, "+", "'||chr(43)||'");

str = replaceStringWithString(str, ";", "'||chr(59)||'");

str = replaceStringWithString(str, "[", "'||chr(91)||'");

str = replaceStringWithString(str, "]", "'||chr(93)||'");

str = str.replaceAll("\r\n", "

");

str = str.replaceAll("\n", "

");

return str;

}

3.如果是like语句,处理%等特殊字符

最终sql:

AND upper(fr.file_name) like'%".concat( StringUtil.signToAscii((StringUtil.ToDBC(vo.getFileName()))toUpperCase()).replaceAll("%", "{%").replaceAll("_",
"{_")).concat("%' ESCAPE '{' "));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: