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
ESPECIALISTA
feita há 6 meses3 visualizações
1 Resposta
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
ESPECIALISTA
respondido há 6 meses

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas