admin

获取任何SQL查询的SHA-512

sql

比较两个文本文件的一种常见做法是使用SHA-512 [或任何其他实际的SHA算法]。如果两个SHA结果不相同,则文件不完全相同。

我想对两个SQL查询执行相同的操作。我只想知道,如果使用SHA-512,查询是否给出100%相同的结果(或者也可以使用SHA-256)?

有可能执行该操作吗?我正在使用SQL Server …


阅读 295

收藏
2021-07-01

共1个答案

admin

只是为了帮助…

可以理解,两个查询都以相同的顺序返回相同的列。

您必须执行以下操作:

SELECT COUNT(*) FROM (
  ([YOUR_QUERY_A]
   EXCEPT
   [YOUR_QUERY_B]) -- A_B
  UNION ALL
  ([YOUR_QUERY_B]
   EXCEPT
   [YOUR_QUERY_A]) -- B_A
  ) EX

如果返回0,则两个查询返回相同的值

出于测试目的:

SELECT COUNT(*) FROM (
  (select 1 a
   EXCEPT
   select 1)
  UNION ALL
  (select 1
   EXCEPT
   select 1)
  ) EX

更改一些内部查询,看看有什么变化

2021-07-01