title: Substring on CLOB field
body: <p>We are trying to apply substring funciton in CLOB field to trim first 4000 chars. we are getting following error message.</p>
  
  <p>Below is the query we are using:</p>
  
  <pre><code>select
  cast(substr(field_name,1,4000) as varchar(4000))
  from table_name;
  </code></pre>
  
  <p>Error report:</p>
  
  <blockquote>
    <p>SQL Error: ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 8000, maximum: 4000)<br>
    22835. 00000 -  "Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: %s, maximum: %s)" <br>
    *Cause:   An attempt was made to convert CLOB to CHAR or BLOB to RAW, where
               the LOB size was bigger than the buffer limit for CHAR and RAW
               types.
               Note that widths are reported in characters if character length
               semantics are in effect for the column, otherwise widths are
               reported in bytes.<br>
    *Action:   Do one of the following
               1. Make the LOB smaller before performing the conversion,
               for example, by using SUBSTR on CLOB
               2. Use DBMS_LOB.SUBSTR to convert CLOB to CHAR or BLOB to RAW.</p>
  </blockquote>