我有一个包含一个或多个CLOB类型列的表。
该表包含重复的行。
像distinct
和group by
这样的常规机制不适用于DB2中的CLOB
。
如何删除此类表格上的重复项?
答案 0 :(得分:1)
解决这个问题的一种方法,特别是如果这是您需要定期执行的操作,就是比较CLOB 摘要或哈希而不是CLOB本身。
DB2没有可用的内置哈希函数,所以你需要跳过一些箍来实现它。例如,您可以将CLOB导出为文件并使用OS实用程序计算其哈希值。
或者,您可以创建一个用Java编写的简单用户定义函数(具有内置MD5和各种SHA算法支持)。其中一个解决方案是described in detail here。
答案 1 :(得分:0)
您可以尝试使用dbms_lob.compare
函数来比较CLOB字段的内容。它是一个内置模块。支持的CLOB大小最多为10MB。