sql >> Base de Datos >  >> RDS >> Oracle

consultando la columna oracle clob

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