Redshift等效的哈希函数。

0

【以下的问题经过翻译处理】 我正在查找将哈希函数转换为Redshift,下面是该功能定义的链接。 https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.1.0/com.ibm.nz.sqltk.doc/r_sqlext_hash8.html 这个hash8函数为输入字符串生成64位整数(基于Jenkins算法),似乎在Redshift中不存在相应的哈希算法。 因此,我们正在使用FNV_HASH重新创建哈希值,但由于受影响的表数量众多且大小不一,需要确认Redshift中是否有相应的功能。

profile picture
专家
已提问 5 个月前2 查看次数
1 回答
0

【以下的回答经过翻译处理】 虽然没有内置函数,但我写了类似的实现:

create function hash8 (varchar) 
  returns bigint 
immutable
as $$
  select strtol(to_hex(strtol(substr(md5($1), 1, 1), 16) & 7) || substr(md5($1), 2, 15), 16)
$$ language sql;
profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则