Oracle
 sql >> Database >  >> RDS >> Oracle

Interrogazione della colonna Oracle Clob

Sì, non è consentito (questa restrizione non ha effetto su CLOB s confronto in PL/SQL) per utilizzare operatori di confronto come = , != , <> e così via nelle istruzioni SQL, quando si tenta di confrontare due CLOB colonne o CLOB colonna e un carattere letterale, come fai tu. Per poter eseguire tale confronto nelle istruzioni SQL, dbms_lob .compare() è possibile utilizzare la funzione.

  select * 
    from aTable 
   where dbms_lob.compare(aClobColumn, 'value') = 0

Nella query precedente, il 'value' literal verrà convertito implicitamente nel CLOB tipo di dati. Per evitare la conversione implicita, il 'value' literal può essere convertito esplicitamente in CLOB tipo di dati utilizzando TO_CLOB() funzione e quindi passare a compare() funzione:

  select * 
    from aTable 
   where dbms_lob.compare(aClobColumn, to_clob('value')) = 0