您的位置:首页 > 数据库 > Oracle

Java 过滤Oracle的like条件的特殊字符

2014-01-12 15:21 288 查看

Java 过滤Oracle的like条件的特殊字符

1、代码转义:

public String replaceSpecialString(String str) {

if(str != null && !"".equals(str)) {

str = str.replace("\\", "\\\\");

str = str.replace("%", "");

str = str.replace("_", "\\_");

str = str.replace("'", "''");

}else {

str = "";

}

return str;

}

注意:如果是 '/' 作为检索字符, 必须 用 '/' 作为转义符, 正斜扛也一样.
select * from wan_test where psid like '%//%' escape '/'

并且,如果在java中采用拼串加入escape '/',/要用//

2、Oracle转义:

1)使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。

2)ESCAPE 'escape_character'

允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。

select * from a WHERE name LIKE '%/%ab' ESCAPE '/'

结果为:

name

----------

11%ab

12%ab
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: