数据库数据对比测试

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

整体的比较可以使用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

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

猜你喜欢

转载自lijingshou.iteye.com/blog/1942000