code: public long position(final String searchstr,
                           long start) throws SQLException {
  
          final String ldata = data;
  
          checkValid(ldata);
  
          if (start < MIN_POS) {
              throw Util.outOfRangeArgument("start: " + start);
          }
  
          if (searchstr == null || start > MAX_POS) {
              return -1;
          }
  
          final int pos = ldata.indexOf(searchstr, (int) --start);
  
          return (pos < 0) ? -1
                           : pos + 1;
      }
docs: Retrieves the character position at which the specified substring
  <code>searchstr</code> appears in the SQL <code>CLOB</code> value
  represented by this <code>Clob</code> object.  The search
  begins at position <code>start</code>.
  
  @param searchstr the substring for which to search
  @param start the position at which to begin searching; the first position
  is 1
  @return the position at which the substring appears or -1 if it is not
  present; the first position is 1
  @exception SQLException if there is an error accessing the
  <code>CLOB</code> value or if start is less than 1
  @exception SQLFeatureNotSupportedException if the JDBC driver does not support
  this method
  @since JDK 1.2, HSQLDB 1.7.2