今天在做sql拼接的时候,一直报错:sql序列索引错误
第一反应就是:sql中有无效的列名 将sql 运行在PL/SQL上排除此错误
后经过断点后发现报错原因:
if(location!=null && !"".equals(location)){ sql.append("and b.location like\'%?%\'"); }
这句赋值失败,系统识别不到"?"
修改成:
if(location!=null && !"".equals(location)){ sql.append("and b.location like'%'||?||'%'"); }
则成功。
总结:以后做模糊查询时候 有%或者其他符号时候,?用sql的拼接符(||)去拼接