当用长字符串调用HASHBYTES时,我正在
OAuth
我正在尝试计算多个字段的MD5哈希,以便我可以比较对象,
反正有吗?
答案 0 :(得分:1)
假设您使用的是SQL Server 2008或更高版本,请使用CHECKSUM函数。
https://msdn.microsoft.com/en-us/library/ms189788.aspx
CHECKSUM在其参数列表上计算一个称为校验和的哈希值。哈希值旨在用于构建哈希索引。如果CHECKSUM的参数是列,并且在计算的CHECKSUM值上构建索引,则结果是哈希索引。这可用于对列进行相等搜索。
如果任何列属于不可比数据类型,则CHECKSUM会返回错误。不兼容的数据类型是text,ntext,image,XML和cursor,还有sql_variant,其中任何一种类型都是基类型。
答案 1 :(得分:0)
正如@TimBiegeleisen所说。 SQL Server的HASHBYTES限制为8k字节。
但是,SQL Server 2016及更高版本没有似乎没有此限制。
对于SQL Server 2014(12.x)和更早版本,允许的输入值为 限制为8000个字节。 https://docs.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql?view=sql-server-2017