如何从包含CLOB类型的列的表中删除重复项?

时间:2015-08-28 10:01:22

标签: db2 clob db2-luw

我有一个包含一个或多个CLOB类型列的表。 该表包含重复的行。 像distinctgroup by这样的常规机制不适用于DB2中的CLOB。 如何删除此类表格上的重复项?

2 个答案:

答案 0 :(得分:1)

解决这个问题的一种方法,特别是如果这是您需要定期执行的操作,就是比较CLOB 摘要哈希而不是CLOB本身。

DB2没有可用的内置哈希函数,所以你需要跳过一些箍来实现它。例如,您可以将CLOB导出为文件并使用OS实用程序计算其哈希值。

或者,您可以创建一个用Java编写的简单用户定义函数(具有内置MD5和各种SHA算法支持)。其中一个解决方案是described in detail here

答案 1 :(得分:0)

您可以尝试使用dbms_lob.compare函数来比较CLOB字段的内容。它是一个内置模块。支持的CLOB大小最多为10MB。