Known issues with SQL Server implementations CHECKSUM and CHECKSUM_AGG: CHECKSUM failure
Use HASHBYTES instead: Using HASHBYTES to compare columns
Microsoft:
, . , . CHECKSUM , , . HashBytes. MD5, , HashBytes , , CHECKSUM.
HASHBYTES - .
, HASBYTES:
DECLARE @test1 TABLE (chksum INT)
DECLARE @test2 TABLE (chksum INT)
INSERT INTO @test1 VALUES (50), (3), (26)
INSERT INTO @test2 VALUES (45), (0), (6)
SELECT [Values] = '50, 3, 26',
[Checksum] = CHECKSUM_AGG(chksum),
[Hashbytes] = HashBytes('md5',convert(varbinary(max),(SELECT * FROM @test1 FOR XML AUTO)))
FROM @test1
UNION ALL
SELECT [Values] = '45, 0, 6',
[Checksum] = CHECKSUM_AGG(chksum),
[Hashbytes] = HashBytes('md5',convert(varbinary(max),(SELECT * FROM @test2 FOR XML AUTO)))
FROM @test2
