I was performing some case sensitive comparsions and as one of options was to use check sum, anyway I conluded that CHECK_SUM and BINARY_CHECK sum functions return same value for different inputs.As far as I know those functions are like hash functions and CHECKSUM applied over any two lists of expressions returns the same value if the corresponding elements of the two lists have the same type and are equal when compared using the equals operator.
SELECT BINARY_CHECKSUM('A') AS [Checksum value for 'A'],
BINARY_CHECKSUM('AAAAAAAAAAAAAAAAA') AS [Checksum value for 'AAAAAAAAAAAAAAAAA']
SELECT CHECKSUM('AB') AS [Checksum value for 'A'],
CHECKSUM('ABABABABABABABABABABABABABABABABAB') AS [Checksum value for 'ABABABABABABABABABABABABABABABABAB']
It seems that if put 17 times first expression as second expression result will be same.Do I misunderstand those functions or this is a BUG?
SELECT BINARY_CHECKSUM('A') AS [Checksum value for 'A'],
BINARY_CHECKSUM('AAAAAAAAAAAAAAAAA') AS [Checksum value for 'AAAAAAAAAAAAAAAAA']
SELECT CHECKSUM('AB') AS [Checksum value for 'A'],
CHECKSUM('ABABABABABABABABABABABABABABABABAB') AS [Checksum value for 'ABABABABABABABABABABABABABABABABAB']
It seems that if put 17 times first expression as second expression result will be same.Do I misunderstand those functions or this is a BUG?