Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Consultando a coluna Oracle clob


Sim, não é permitido (esta restrição não afeta CLOB s em PL/SQL) para usar operadores de comparação como = , != , <> e assim por diante em instruções SQL, ao tentar comparar dois CLOB colunas ou CLOB coluna e um caractere literal, como você faz. Para poder fazer essa comparação em instruções SQL, dbms_lob .compare() função pode ser usada.
  select * 
    from aTable 
   where dbms_lob.compare(aClobColumn, 'value') = 0

Na consulta acima, o 'value' literal será convertido implicitamente para o CLOB tipo de dados. Para evitar a conversão implícita, o 'value' literal pode ser explicitamente convertido para o CLOB tipo de dados usando TO_CLOB() função e, em seguida, passar para o compare() função:
  select * 
    from aTable 
   where dbms_lob.compare(aClobColumn, to_clob('value')) = 0