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
EXPERTE
gefragt vor 6 Monaten3 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen