/**

* function: 处理oracle sql 语句in子句中(where id in (1, 2, ..., 1000, 1001)),

* 如果子句中超过1000项就会报错。

* 这主要是oracle考虑性能问题做的限制。

* 如果要解决次问题,可以用 where id (1, 2, ..., 1000) or id (1001, ...)

* @author hoojo

* @createDate 2012-8-31 下午02:36:03

* @param ids in语句中的集合对象

* @param count in语句中出现的条件个数

* @param field in语句对应的数据库查询字段

* @return 返回 field in (...) or field in (...) 字符串

*/

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 ('')");

}

oracle查询不等于1000,解决oracle查询时 in 大于1000的办法相关推荐

  1. oracle大于条件,oracle中sql语句中的in的条件数量大于1000有问题

    oracle中sql语句中的in的条件数量大于1000有问题 oracle中sql语句中select * from t_Test t where  t.Id in(1,2,3......)/*数量不能 ...

  2. java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制。

    java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制. 一.为什么要使用ES的scroll (1)首先我们要明白es的查询机制:ES的搜索是分2个阶段进行的,即Que ...

  3. mysql 查询不等于空的数据查询

    查询mysql 的列表: 查询不等于空的,查询方式为null , SELECT * FROM `TRAINING_TAG` t  where t.TAG_CODE is not null .

  4. oracle 行级死锁_解决Oracle数据库死锁

    介绍 本文我们尝试总结在多个用户并发情况下,如何识别和解决删除操作期间发生的死锁问题,在开始之前,我们先简单描述一下什么是死锁以及什么东西会导致死锁. 死锁 在任何数据库中发生死锁都是不愉快的,即使是 ...

  5. oracle未提交锁表,解决ORACLE锁表问题

    转载备用 在ORACLE操作中经常会发生,尚未提交(或回滚)数据Session异常关闭的情况 会导致表中的某些数据被锁死. 解决办法是用sys登录后,先找出lock的Session. select o ...

  6. oracle字符界面安装,怎么解决oracle在linux 纯字符界面安装有关问题

    之前在oracle 下面用图形装了(oracle图形界面安装遇到的问题), 毕竟图形界面用于个人使用,而服务器下的一般是字符界面,所以安又尝试字符界面的安装 我的环境是centos 6.3 64位 + ...

  7. oracle blob查重,如何解决oracle blob字段 的乱码问题

    满意答案 jaychoa123 2016.11.07 采纳率:54%    等级:8 已帮助:861人 字符串以blob以byte[] 二进制的形式存成blob字段 案例一: oracle数据库服务器 ...

  8. linux下的oracle中文乱码,Linux环境解决Oracle 中文乱码

    linux下Oracle显示中文乱码 1.Oracle数据库出现乱码的原因: 操作系统与服务器一致,但客户端与服务器字符集不一致 客户端与服务器一致,但操作系统与服务器不一致 2.解决办法: 设置相关 ...

  9. oracle扩展归档空间大小,解决Oracle数据库归档日志占满磁盘空间问题

    1.常用命令 show parameter log_archive_dest; sql> archive log list; sql> select * from V$FLASH_RECO ...

最新文章

  1. Android 9.0 系统弹框
  2. Cell:重大突破!三位学术大咖,打造全新“DNA显微镜”
  3. python自带库处理excel-python 学习(三)数据库、EXCEL处理
  4. 用于构建集成式桌面应用程序的新指南和新工具(转载于MSDN)
  5. Python09 字典
  6. 七十五、React环境搭建,目录文件分析和JSX
  7. 面试题及答案_NET
  8. mysql统计各年龄段的数量
  9. android 内核态
  10. CCIE-LAB-第十四篇-PIM Sparst+IGMP
  11. Abp vnext 特征(Features)
  12. 【NLP】doc2vec原理及实践
  13. React Router 全部
  14. 华为v9计算机在哪方面的应用,华为手机助手怎么用 HiSuite详细使用教程
  15. 什么是代理IP?怎么在浏览器中配置代理IP?
  16. rancher拉取harbor私有镜像失败,报错ImagePullBackOff: Back-off pulling image
  17. 程序员健康指南 真的很受用
  18. 【xlwings api语言参考】Range.FormulaR1C1 属性
  19. 【Robot学习 5 】ROS通信编程 待更新。。。
  20. FPGA+DSP编码过程

热门文章

  1. Microsoft Visual Studio 6.0 安装后,弹出登录Visual SourceSafe Login弹出框!
  2. 机器人SLAM建图地图类型讨论
  3. zookeeper 进入客户端_Zookeeper基础知识简单介绍
  4. 语言可以编辑系统软件吗_你知道吗?你本来也可以精通多国语言
  5. vue 初始化请求例子_Vue实例初始化
  6. TypeScript学习(二):任意类型及推论
  7. 常见的遍历数组和对象的方法
  8. redhat multipath配置文件简要说明
  9. Mysql 数据库学习笔记02 编程
  10. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用