关于“怎么比较两个SQL查询语句产生的结果集是否相同”搜集到的一些资料
一、
如果你这两个结果集都没有close,可以这样:
rs.last();
rs2.last();
if (rs.getRow() != rs2.getRow()) {
//记录数不等,即结果不等
}
rs.first();
rs2.first();
while (rs.next() && rs2.next()) {
if (Math.abs(rs.getFloat(2) - rs2.getFloat(2)) > 0.00000001) {
//记录值不等
break;
}
}
二、
来自百度知道的网友回答
//结果集有5列(根据情况调整):empno, ename, sal, hiredate, deptno
public static String []columns = {"empno", "ename", "sal", "hiredate", "deptno"}; //结果集rs1和rs2, 判断rs1与rs2中是否有相同元素
public static boolean hasSame(ResultSet rs1, ResultSet rs2) throws SQLException{
List<Map<String, Object>> list1 = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> list2 = new ArrayList<Map<String, Object>>();
int i;
while(rs1.next()){
Map<String, Object> map = new HashMap<String, Object>();
for(i = 0; i < columns.length; i++){
map.put(columns[i], rs1.getObject(columns[i]));
}
list1.add(map);
} while(rs2.next()){
Map<String, Object> map = new HashMap<String, Object>();
for(i = 0; i < columns.length; i++){
map.put(columns[i], rs2.getObject(columns[i]));
}
list2.add(map);
} for(Map<String, Object> map: list1){
if(list2.contains(map)){
return true;
}
} return false;
}
三、参考http://blog.csdn.net/terryhuang/article/details/8621021 重点摘录如下:
oracle 解决方案
- (select * from a1
- minus
- select * from a2
- )
- union all
- (select * from a2
- minus
- select * from a1
- )
照这展开优化下
(A minus B)union (B minus A) 如果得到的结果是空,证明一致。
另外参考一下http://www.itpub.net/thread-1066538-1-1.html
四、
select Cause, Rate
from (
select Cause, Rate from A1
union all
select Cause, Rate from A2)
group by Cause, Rate
having count(*) < 2
如果结果集为NULL,就可以判断该结果集是一致的。。。
关于“怎么比较两个SQL查询语句产生的结果集是否相同”搜集到的一些资料的更多相关文章
- sqlserver 把两个sql查询语句查询出来的两张表合并成一张表
第一个sql语句 select companyname gsmc,zb zhibiao from t_gsndzb left join t_companycode on t_gsndzb.gsbh=t ...
- Java 获取SQL查询语句结果
step1:构造连接Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnec ...
- [数据库] SQL查询语句表行列转换及一行数据转换成两列
原文来自:http://blog.csdn.net/Eastmount/article/details/50559008 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两 ...
- sql查询语句如何解析成分页查询?
我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能, ...
- SQL查询语句去除重复行
1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录 ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- 转: 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- SQL查询语句分类
SQL查询语句有多种,下面总结下.首先先建三张表用于后面的实验 -- 学生表,记录学生信息 CREATE TABLE student( sno ), sname ), ssex ENUM('男','女 ...
随机推荐
- 好玩的算法(JS版)
1.字符串反转 'cba'.split('').reverse().join(''); 2.在数组最后一位添加一项 array[array.length]=(new value);
- eclipse:failed to create the java virtual machine
今天eclipse出现failed to create the java virtual machine无法启动,在网上找了解决办法如下: 找到eclipse目录下的eclipse.ini,可以看到如 ...
- 使用CSS3制作漂亮的按钮
我给大家介绍一下如何使用CSS3来制作一个圆角阴影.渐变色的漂亮的按钮,它不需要任何图片和javascript脚本,只需要CSS3就可以轻松实现按钮效果,并且可以适用于任意HTML元素,想div,sp ...
- 安装MySQldb出错解决方法
sudo yum install mysql-devel sudo yum install python-devel _mysql.c:36:23: error: my_config.h: No su ...
- 程序员必须知道的几个国外IT网站
1.TheServerSide 这是一个老牌的IT信息网站,从名称上你就能看出,它是关注服务器端编程的,以Java和Java周边信息为主,不过最近它也有向客户端和微软产品扩展的趋势.这个网站最初是以免 ...
- gitlab的搭建和linux客户端的连接
一.安装 1.新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容 1 2 3 4 5 6 7 [gitlab-ce] name=gitlab-ce baseurl=ht ...
- dojo 三 类和继承 dojo/_base/declare
这里要讲有关类的定义.继承和实现.官方教程:http://dojotoolkit.org/documentation/tutorials/1.7/declare/类的声明是通过declare 这个方法 ...
- SQLServer2008 行转列
with a as( select *,row_number() over(partition by hyid order by jp desc) rowid from rtc) select a.h ...
- BZOJ 1257 余数之和sum
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1257 题意:计算sigama(m%i)(1<=i<=n). 思路: 这样就简 ...
- leetcode:Happy Number
要求:Write an algorithm to determine if a number is "happy". A happy number is a number defi ...