论坛首页 入门技术论坛

数据库数据对比测试

浏览 2308 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-09-13  

数据比较有两个方面,一个是整体的比较,另外是细节上数据值的比较。

整体的比较可以使用Minus,显示两表之间的数据差:

select * from table_a
minus
select * from table_b

 除此之外,还可以利用Minus比较不同列之间的差异:

select distinct columnA from table_A
minus
select distinct columnA from table_B

 总的来说,Minus可以用来比较相对整体的东西

 

如果两张结构一样的表纯粹比较数据的数值上差异的话,可以使用如下SQL显示差异:

select A.primary_key, A.data1-B.data1, A.data2-B.data2
from table_A a, table_B b
where A.primary_key = B.primary_key
order by A.primary_key desc

 这样只会显示所有的差异,我们可以在Where语句中加入过滤条件,显示指定差异的数据:

select A.primary_key, A.data1-B.data1, A.data2-B.data2
from table_A a, table_B b
where A.primary_key = B.primary_key and abs(A.data1-B.data1)>0.001
order by A.primary_key desc

 所以,测试的时候,我们需要一个准则去判断怎么样的数据差异是合理的

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics