比较两个clob字段

时间:2013-10-28 07:52:17

标签: sql plsql

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

clob1<>clob2

我可以这样做吗? 或者我要这样做:

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

1 个答案:

答案 0 :(得分: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