SQL Преобразование байтов в INT и BIGINT - PullRequest
0 голосов
/ 28 мая 2018

Может кто-нибудь объяснить точную причину, по которой преобразование одних и тех же байтов в 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.

...