Oracle
 sql >> Base de données >  >> RDS >> Oracle

Interroger la colonne oracle clob

Oui, ce n'est pas autorisé (cette restriction n'affecte pas CLOB s comparaison en PL/SQL) pour utiliser des opérateurs de comparaison comme = , != , <> et ainsi de suite dans les instructions SQL, en essayant de comparer deux CLOB colonnes ou CLOB colonne et un caractère littéral, comme vous le faites. Pour pouvoir effectuer une telle comparaison dans les instructions SQL, dbms_lob .comparer() fonction peut être utilisée.

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

Dans la requête ci-dessus, le 'value' littéral sera implicitement converti en CLOB type de données. Pour éviter une conversion implicite, la valeur 'value' littéral peut être explicitement converti en CLOB type de données utilisant TO_CLOB() fonction puis passer à la compare() fonction :

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