Может кто-нибудь объяснить точную причину, по которой преобразование одних и тех же байтов в INT и BIGINT в SQL дает совершенно разные результаты?
Небольшой пример, который я использовал:
SELECT '00T1p000029eYmpEAE' AS OriginalString,
HASHBYTES('SHA2_512', '00T1p000029eYmpEAE') AS HashedString,
CONVERT(BIGINT, HASHBYTES('SHA2_512', '00T1p000029eYmpEAE')) AS IntValue,
9223372036854775807 AS BigIntMax,
CONVERT(INT, HASHBYTES('SHA2_512', '00T1p000029eYmpEAE')) AS BigInteValue;
До сих пор я нашел это: https://www.sqlservercentral.com/Forums/Topic1349851-391-1.aspx, но, в отличие от ОП, мне неясно, что происходит в процессе преобразования.
Использование MS SQL Server 2016.