SQL Server:使用数字字符并在最大长度为20个字符的情况下散列它们

时间:2011-11-15 16:01:27

标签: sql sql-server sql-server-2008 hash

您好我试图找到一种散列一组数字的好方法,它的输出将低于20个字符,这些字符是正数和唯一的。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

对于散列,我会使用HASHBYTES函数。然后,您可以将二进制数据转换为字符串,然后选择前20个字符,这些字符应该仍然足够独特。

要绕过HASHBYTES限制(例如8000字节),您可以增量哈希,例如对于每个值,将前一个哈希与要添加的值连接并再次哈希。这将使其与订单等唯一,除非您在一个值中追加接近8000个字节,否则不会导致散列数据截断。