title: Oracle length() function returning incorrect value
body: <p>I just found some... I don't know what I'd call it but here goes:</p>
  
  <pre><code>SELECT part_num, 
         length(trim(part_num)) 
    FROM part_programs 
   WHERE rownum &lt;= 10;
  </code></pre>
  
  <p>...results:</p>
  
  <pre><code>PART_NUM        LENGTH(TRIM(PART_NUM))
  --------------- ----------------------
  THAB256         8
  THA1256674      11
  THA1256674GU    13
  THA1257141      11
  THA1257141FR    13
  THA1257141FR1   14
  THA1257141TD    13
  THA2002013      11
  THA2002013MI    13
  THA2002013MI1   14
  </code></pre>
  
  <p>The returned integer from length() call actually returns 1 + realLength of the values.</p>
  
  <p>I'm not sure where to begin, anyone care to shed a light?</p>