我可以像比较普通行一样比较两个 clob 列吗?
clob1<>clob2
我可以像上面那样做吗?或者我必须这样做:
dbms_lob.compare(lob_1 => lv_old_scope,
lob_2 => lv_new_scope) = '-1'
您可以在 PL/SQL 上下文中使用等式/不等式运算符来比较 LOB,但不能在 SQL 上下文中使用。
PL/SQL
DECLARE
v_clob1 CLOB;
v_clob2 CLOB;
BEGIN
v_clob1 := 'TEST';
v_clob2 := 'TEST';
IF v_clob1 = v_clob2 THEN
dbms_output.put_line('Equal.');
ELSE
dbms_output.put_line('NOT equal.');
END IF;
END;
输出:
平等的。
SQL
CREATE TABLE clob_test (
col1 CLOB,
col2 CLOB
);
SELECT *
FROM clob_test
WHERE col1 = col2;
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
Error at Line: 569 Column: 7