oracle查询带有单引号的
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 oracle查询带有单引号的 一条查询语句 select * from table where a ='['0','女'],['1','男']'; 后来通过查资料用chr(39)来转换单引号格式可以写成这样: select '['||chr(39)||'0'||chr(39)||','||
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
oracle查询带有单引号的
一条查询语句
select * from table where a ='['0','女'],['1','男']';
后来通过查资料用chr(39)来转换单引号格式可以写成这样:
select '['||chr(39)||'0'||chr(39)||','||chr(39)||'女'||chr(39)||']'||
','||'['||chr(39)||'1'||chr(39)||','||chr(39)||'男'||chr(39)||']' translation from dual这样查询是没有问题的。所以得想办法将客户端参数转义。
String Strinfo="['0','女'],['1','男']";
StringBuffer str = new StringBuffer();
for(int i=0;i
{
String ss =Convert.ToString(Strinfo.charAt(i));
if(ss.equalsIgnoreCase("[")){
str.append("'['||");
}
else if(ss.equalsIgnoreCase("'")){
str.append("chr(39)||");
}
else if(ss.equalsIgnoreCase("]")){
if(i!=Strinfo.length()-1){
str.append("']'||");
}
else{
str.append("']'");
}
}
else{
str.append("'"+Strinfo.charAt(i)+"'||");
}
}
通过以上方法我们就可以查询了。
select * from table where a in (select '['||chr(39)||'0'||chr(39)||','||chr(39)||'女'||chr(39)||']'||
','||'['||chr(39)||'1'||chr(39)||','||chr(39)||'男'||chr(39)||']' translation)
推荐阅读
-
Oracle与MySQL的分页查询sql语句格式实例讲解
-
Oracle实现分页查询的SQL语法汇总
-
(转载)令人迷糊的Oracle递归查询(start with)
-
oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字怎么解决?
-
Oracle字段根据逗号分割查询数据的方法
-
Oracle生成查询包含指定字段名对应的所有数据表记录语句
-
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
-
解析oracle对select加锁的方法以及锁的查询
-
Oracle 查询优化的基本准则详解
-
Oracle的NVL函数用法、Oracle递归查询实例讲解