Hash DB2forZos中是否有CRC32或其他哈希函数?

Hash DB2forZos中是否有CRC32或其他哈希函数?,hash,db2,crc32,zos,Hash,Db2,Crc32,Zos,我正在寻找一个DB2函数来计算大CLOB值的哈希值,以便快速跟踪更改。其他发动机具有诸如校验和、CRC32或MD5等功能。LUW中的函数是GET\u HASH\u VALUE,但在zOS中不可用 约束:无法访问UDF或存储过程 这是一个快速而肮脏的代码片段,用于计算CRC32,它只适用于大约100个字符 WITH crc(t,c,j) AS ( SELECT 'Hello World!',4294967295,0 FROM SYSIBM.SYSDUMMY1 UNION ALL SEL

我正在寻找一个DB2函数来计算大CLOB值的哈希值,以便快速跟踪更改。其他发动机具有诸如
校验和
CRC32
MD5
等功能。LUW中的函数是
GET\u HASH\u VALUE
,但在zOS中不可用

约束:无法访问UDF或存储过程

这是一个快速而肮脏的代码片段,用于计算CRC32,它只适用于大约100个字符

WITH crc(t,c,j) AS (
  SELECT 'Hello World!',4294967295,0 FROM SYSIBM.SYSDUMMY1
  UNION ALL
  SELECT SUBSTR(t,2),bitxor(c,ASCII(t)),8 FROM crc WHERE t>'' AND j=0
  UNION ALL
  SELECT t,BITXOR(c/2,BITAND(3988292384,-BITAND(c,1))),j-1 FROM crc WHERE j>0
)
SELECT RIGHT(HEX(BITNOT(c)),8) FROM CRC WHERE t='' AND j=0
检查结果对照:


来源:

答案取决于您使用的DB2版本。如果您使用的是DB29.7或更高版本,请看这里:

答案取决于您使用的是哪个版本的DB2。如果您使用的是DB29.7或更高版本,请看这里:

很遗憾,这些约束都强加给了您。一个金属C或汇编程序UDF将在这里创造奇迹,而且开销很低。CBT磁带(z/OS免费软件)网站上提供了一个基本的CRC32程序,请查看文件#493。DB2z/OS的目标是使z/OS和LUW兼容,所以打开一个增强请求。一个金属C或汇编程序UDF将在这里创造奇迹,而且开销很低。CBT磁带(z/OS免费软件)网站上提供了一个基本的CRC32程序,请查看文件#493。DB2z/OS的目标是使z/OS和LUW兼容,因此打开一个增强请求。
1
--------
1C291CA3