CHECKSUM 和 CHECKSUM_AGG:算法是什么?

2021-12-13 00:00:00 checksum sql-server-2008 sql-server

我们对sql server中的一些数据进行校验和如下:

We perform checksums of some data in sql server as follows:

declare @cs int;
select 
    @cs = CHECKSUM_AGG(CHECKSUM(someid, position))
from 
    SomeTable
where 
    userid = @userId
group by 
    userid;

这些数据随后会与客户共享.我们希望能够在客户端重复校验和......但是似乎没有关于如何计算上述函数中的校验和的任何信息.谁能给我指点一下?

This data is then shared with clients. We'd like to be able to repeat the checksum at the client end... however there doesn't seem to be any info about how the checksums in the functions above are calculated. Can anyone enlighten me?

推荐答案

在 SQL Server 论坛上,在此 页面,它说:

On SQL Server Forum, at this page, it's stated:

SQL Server 中内置的 CHECKSUM 函数建立在一系列 4 位左旋转异或运算之上.请参阅此帖子了解更多说明.

The built-in CHECKSUM function in SQL Server is built on a series of 4 bit left rotational xor operations. See this post for more explanation.

相关文章