【发布时间】:2020-08-23 01:48:36
【问题描述】:
我在 Microsoft SQL Server 中遇到了一些很奇怪的东西,基本上和 CHECKSUM_AGG(BINARY_CHECKSUM(*)) 函数有关。
如您所见,每个表只有 2 个可能的行内容:
- 103 |托马斯
- 112 |空
但是,它们仍然不同,因为第二个表有 5 个这样的行组合,但是如果我尝试通过运行计算 2 个表的 CHECKSUM_AGG(BINARY_CHECKSUM(*))
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) AS "Table 1 Checksum" FROM Table_1;
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*))AS "Table 2 Checksum" FROM Table_2;
它们将显示相同的结果:
这很奇怪,我不知道为什么会这样。我正在执行CHECKSUM_AGG 函数来查看两个表是否具有相同的内容,到目前为止,它看起来运行良好。但是,在极少数情况下,两个表的内容与上面的两个相似^^,恐怕该函数会为这两个表返回相同的结果。
有人能解释一下这背后的原因吗?是否有办法缓解这个问题?
在此先感谢,如果能提供任何帮助,我将不胜感激 :)
【问题讨论】:
标签: sql sql-server checksum