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
EXPERTO
preguntada hace 6 meses3 visualizaciones
1 Respuesta
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
EXPERTO
respondido hace 6 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas