oracle in

来源:互联网 发布:数据库原理及应用教程 编辑:程序博客网 时间:2024/05/18 22:15

转载:http://blog.csdn.net/xb12369/article/details/18264663

private String getOracleSQLIn(List<?> ids, int count, String field) {
    count = Math.min(count, 1000);
    int len = ids.size();
    int size = len % count;
    if (size == 0) {
        size = len / count;
    } else {
        size = (len / count) + 1;
    }
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < size; i++) {
        int fromIndex = i * count;
        int toIndex = Math.min(fromIndex + count, len);
        //System.out.println(ids.subList(fromIndex, toIndex));
        String productId = StringUtils.defaultIfEmpty(StringUtils.join(ids.subList(fromIndex, toIndex), "','"), "");
        if (i != 0) {
            builder.append(" or ");
        }
        builder.append(field).append(" in ('").append(productId).append("')");
    }
    
    return StringUtils.defaultIfEmpty(builder.toString(), field + " in ('')");
}

0 0
原创粉丝点击