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< p>

  {

  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)

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: