SQL将字节转换为INT和BIGINT

时间:2018-05-28 11:48:29

标签: sql sql-server int sql-server-2016 bigint

有人可以解释为什么在SQL中将相同字节转换为INT和BIGINT会产生截然不同的结果的确切原因?

我用过的一个小例子:

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 但与那里的OP不同,我不清楚转换过程中发生了什么。

使用MS SQL Server 2016。

0 个答案:

没有答案