2013-10-28 156 views
0

我可以比较两个clob列 比较正常行吗?比较两个clob字段

clob1<>clob2 

我可以像上面那样做吗? 或我做的是这样的:

dbms_lob.compare(lob_1 => lv_old_scope, 
          lob_2 => lv_new_scope) = '-1' 

回答

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; 

输出:

Equal.

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