我有一个列数据类型为nvarchar(max)的表,该列的数据超过8000个字符。
mytext navarchar(max)
我想计算该列的哈希值,我在MS SQL 2008 / R2中使用以下代码
select HASHBYTES('md5',column_name)
但是我收到了错误,
String or binary data would be truncated.
是否可以在sql查询中的nvarchar(max)字段中计算哈希值。
或者还有其他方法可以做到。
提前致谢。
答案 0 :(得分:1)
如上所述,允许的输入值限制为8000字节。
尝试:
select master.sys.fn_repl_hash_binary(cast(column_name as varbinary(max)))
对于此操作,您必须禁用FIPS验证的加密算法: http://blog.aggregatedintelligence.com/2007/10/fips-validated-cryptographic-algorithms.html