sql >> Databasteknik >  >> RDS >> Oracle

Frågande oracle clob kolumn

Ja, det är inte tillåtet (denna begränsning påverkar inte CLOB s jämförelse i PL/SQL) för att använda jämförelseoperatorer som = , != , <> och så vidare i SQL-satser, när man försöker jämföra två CLOB kolumner eller CLOB kolumn och en bokstavlig karaktär, som du gör. För att kunna göra en sådan jämförelse i SQL-satser, dbms_lob .compare() funktionen kan användas.

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

I ovanstående fråga, 'värde' literal kommer implicit att konverteras till CLOB datatyp. För att undvika implicit konvertering, 'värde' literal kan explicit konverteras till CLOB datatyp med TO_CLOB() funktion och skicka sedan in till compare() funktion:

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


  1. SQL finns det ett sätt att sortera flera tidskolumner i en samtidigt som metadata bevaras?

  2. MySQL GroupBy och visar det horisontellt

  3. MySQL-konfiguration för flytande NHibernate

  4. Hur man ersätter en sträng om posten är NULL i T-SQL