本文共 692 字,大约阅读时间需要 2 分钟。
sql in查询的时候,in里面的数据过多而报错,“列表中的最大表达式数为 1000”的解决方案
//处理in查询的时候id超过1000,而报错//id 需要查询的字段,也就是in前面的字段,list是in里面的条件集合 private static String moreIdsDeal(String id, Listlist){ StringBuffer sb = new StringBuffer(); for(int i = 0; i < list.size(); i++){ if(i == 0){ sb.append(id).append(" in ("); } sb.append("'").append(list.get(i).toString()).append("'"); if(i >= 900 && i < list.size()-1){ if(i % 900 == 0){ sb.append(") or ").append(id).append(" in ("); }else{ sb.append(","); } }else{ if(i < list.size()-1){ sb.append(","); } } if(i == list.size()-1){ sb.append(")"); } } return sb.toString(); }
调用的时候
moreIdsDeal("B.FLID", ids_list)
转载地址:http://dxyl.baihongyu.com/