它在做什么? (HASH,RAWTOHEX)

时间:2016-09-01 11:33:18

标签: sql hash netezza

我已经获得了这个SQL查询(使用Netezza)&有一个我以前没用过的功能 - 它返回一个键,但我不知道它从哪里得到它?:

select LOWER(SYSTEM..RAWTOHEX(SYSTEM..HASH(PROFILEID||'TK'||'CUST_V1',1))), ...

有人可以解释它在做什么吗?

1 个答案:

答案 0 :(得分:2)

代码使用PROFILEID中与{TKCUST_V1'连接的SHA-1 hash个值。 (为什么分成两个联合会超出我的范围。)

这可能会返回一个不太人性化的结果,正如文档所示:

select hash('Netezza',0);
       HASH
------------------
Ã
®dïO=±NEÂ
ÂÂÃ
(1 row)

因此创建者调用RAWTOHEX将其从字节字符串转换为十六进制字符串。 RAWTOHEX将返回一些十六进制值。

8D812C9E8DB362FCB20E

最后,它被翻译成小写形式。