Sí, no está permitido (esta restricción no afecta a CLOB
s comparación en PL/SQL) para usar operadores de comparación como =
, !=
, <>
y así sucesivamente en sentencias SQL, al intentar comparar dos CLOB
columnas o CLOB
columna y un carácter literal, como lo haces tú. Para poder realizar dicha comparación en instrucciones SQL, dbms_lob .comparar()
se puede utilizar la función.
select *
from aTable
where dbms_lob.compare(aClobColumn, 'value') = 0
En la consulta anterior, el 'value'
literal se convertirá implícitamente a CLOB
tipo de datos. Para evitar la conversión implícita, el 'value'
el literal se puede convertir explícitamente a CLOB
tipo de datos usando TO_CLOB()
función y luego pasar a compare()
función:
select *
from aTable
where dbms_lob.compare(aClobColumn, to_clob('value')) = 0