2015-08-28 59 views

回答

0

您可以嘗試利用dbms_lob.compare函數來比較CLOB字段的內容。它是一個內置模塊。受支持的CLOB大小高達10MB。接近這一點,尤其是如果這東西,你需要定期做

+0

如果我對文檔的理解是正確的,則dbms_lob.compare函數旨在比較一個表格行中的clobs對象。這怎麼可以用來消除重複的行? – xquadrat

+0

您需要編寫一個程序。首先,我會嘗試查找CLOB具有相同長度的行,然後使用比較函數查看它們是否匹配。由於LOB與常規表格數據分開存儲,因此首先進行處理的速度會更快。有沒有其他欄可以幫助識別重複?這不是微不足道的...... –

+0

我有一個varchar類型的字段,它包含一個可以用來標識重複項的guid。我試圖結合min函數使用它來選擇一行。但min函數不適用於clobs – xquadrat

1

的一種方式,是比較CLOB 消化,或哈希代替的CLOB自己。

DB2沒有內置的哈希函數可供您使用,所以您需要跳過一些箍環來實現這一點。例如,您可以將CLOB作爲文件導出,並使用OS實用程序計算散列值。或者,您可以創建一個用Java編寫的簡單用戶定義函數(它具有內置的MD5和各種SHA算法支持)。一種這樣的解決方案是described in detail here