我有两张 table 我想比较。其中一列是 CLOB 类型。我想做这样的事情:
select key, clob_value source_table
minus
select key, clob_value target_table
不幸的是,Oracle 无法对 clob 执行减号操作。我怎样才能做到这一点?
最佳答案
格式是这样的:
dbms_lob.compare(
lob_1 IN BLOB,
lob_2 IN BLOB,
amount IN INTEGER := 18446744073709551615,
offset_1 IN INTEGER := 1,
offset_2 IN INTEGER := 1)
RETURN INTEGER;
如果 dbms_lob.compare(lob1, lob2) = 0,则它们是相同的。
这是基于您的示例的示例查询:
Select key, glob_value
From source_table Left Join target_table
On source_table.key = target_table.key
Where target_table.glob_value is Null
Or dbms_lob.compare(source_table.glob_value, target_table.glob_value) <> 0
关于sql - 如何比较 Oracle 中的两个 CLOB 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/85675/