# NClob

Added in[API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# NClob

```
interface NClob : Clob
```

|----------------------------------------------------------------------------------|
| [java.sql.NClob](https://developer.android.com/reference/kotlin/java/sql/NClob#) |

The mapping in the JavaTM programming language for the SQL`NCLOB`type. An SQL`NCLOB`is a built-in type that stores a Character Large Object using the National Character Set as a column value in a row of a database table.

The`NClob`interface extends the`Clob`interface which provides provides methods for getting the length of an SQL`NCLOB`value, for materializing a`NCLOB`value on the client, and for searching for a substring or`NCLOB`object within a`NCLOB`value. A`NClob`object, just like a`Clob`object, is valid for the duration of the transaction in which it was created. Methods in the interfaces[ResultSet](https://developer.android.com/reference/kotlin/java/sql/ResultSet),[CallableStatement](https://developer.android.com/reference/kotlin/java/sql/CallableStatement), and[PreparedStatement](https://developer.android.com/reference/kotlin/java/sql/PreparedStatement), such as`getNClob`and`setNClob`allow a programmer to access an SQL`NCLOB`value. In addition, this interface has methods for updating a`NCLOB`value.

All methods on the`NClob`interface must be fully implemented if the JDBC driver supports the data type.

## Summary

| Inherited functions ||
|---|---|
| From class[Clob](https://developer.android.com/reference/kotlin/java/sql/Clob) |--------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)               | [free](https://developer.android.com/reference/kotlin/java/sql/Clob#free())`()` <br /> This method frees the`Clob`object and releases the resources the resources that it holds. The object is invalid once the`free`method is called. After`free`has been called, any attempt to invoke a method other than`free`will result in a`SQLException`being thrown. If`free`is called multiple times, the subsequent calls to`free`are treated as a no-op. <br /> <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | | [InputStream](https://developer.android.com/reference/kotlin/java/io/InputStream.html#)!   | [getAsciiStream](https://developer.android.com/reference/kotlin/java/sql/Clob#getAsciiStream())`()` <br /> Retrieves the`CLOB`value designated by this`Clob`object as an ascii stream. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | | [Reader](https://developer.android.com/reference/kotlin/java/io/Reader.html#)!             | [getCharacterStream](https://developer.android.com/reference/kotlin/java/sql/Clob#getCharacterStream())`()` <br /> Retrieves the`CLOB`value designated by this`Clob`object as a`java.io.Reader`object (or as a stream of characters). <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | | [Reader](https://developer.android.com/reference/kotlin/java/io/Reader.html#)!             | [getCharacterStream](https://developer.android.com/reference/kotlin/java/sql/Clob#getCharacterStream(kotlin.Long,%20kotlin.Long))`(`pos:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `length:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` <br /> Returns a`Reader`object that contains a partial`Clob`value, starting with the character specified by pos, which is length characters in length. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!          | [getSubString](https://developer.android.com/reference/kotlin/java/sql/Clob#getSubString(kotlin.Long,%20kotlin.Int))`(`pos:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `length:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` <br /> Retrieves a copy of the specified substring in the`CLOB`value designated by this`Clob`object. The substring begins at position`pos`and has up to`length`consecutive characters. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)               | [length](https://developer.android.com/reference/kotlin/java/sql/Clob#length())`()` <br /> Retrieves the number of characters in the`CLOB`value designated by this`Clob`object. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)               | [position](https://developer.android.com/reference/kotlin/java/sql/Clob#position(kotlin.String,%20kotlin.Long))`(`searchstr:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `start:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` <br /> Retrieves the character position at which the specified substring`searchstr`appears in the SQL`CLOB`value represented by this`Clob`object. The search begins at position`start`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)               | [position](https://developer.android.com/reference/kotlin/java/sql/Clob#position(java.sql.Clob,%20kotlin.Long))`(`searchstr:` `[Clob](https://developer.android.com/reference/kotlin/java/sql/Clob)!`, `start:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` <br /> Retrieves the character position at which the specified`Clob`object`searchstr`appears in this`Clob`object. The search begins at position`start`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | [OutputStream](https://developer.android.com/reference/kotlin/java/io/OutputStream.html#)! | [setAsciiStream](https://developer.android.com/reference/kotlin/java/sql/Clob#setAsciiStream(kotlin.Long))`(`pos:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` <br /> Retrieves a stream to be used to write Ascii characters to the`CLOB`value that this`Clob`object represents, starting at position`pos`. Characters written to the stream will overwrite the existing characters in the`Clob`object starting at the position`pos`. If the end of the`Clob`value is reached while writing characters to the stream, then the length of the`Clob`value will be increased to accomodate the extra characters. **Note:** If the value specified for`pos`is greater then the length+1 of the`CLOB`value then the behavior is undefined. Some JDBC drivers may throw a`SQLException`while other drivers may support this operation. <br />                                                                                                                                                                                                                                                   | | [Writer](https://developer.android.com/reference/kotlin/java/io/Writer.html#)!             | [setCharacterStream](https://developer.android.com/reference/kotlin/java/sql/Clob#setCharacterStream(kotlin.Long))`(`pos:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` <br /> Retrieves a stream to be used to write a stream of Unicode characters to the`CLOB`value that this`Clob`object represents, at position`pos`. Characters written to the stream will overwrite the existing characters in the`Clob`object starting at the position`pos`. If the end of the`Clob`value is reached while writing characters to the stream, then the length of the`Clob`value will be increased to accomodate the extra characters. **Note:** If the value specified for`pos`is greater then the length+1 of the`CLOB`value then the behavior is undefined. Some JDBC drivers may throw a`SQLException`while other drivers may support this operation. <br />                                                                                                                                                                                                                                      | | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)                 | [setString](https://developer.android.com/reference/kotlin/java/sql/Clob#setString(kotlin.Long,%20kotlin.String))`(`pos:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `str:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`)` <br /> Writes the given Java`String`to the`CLOB`value that this`Clob`object designates at the position`pos`. The string will overwrite the existing characters in the`Clob`object starting at the position`pos`. If the end of the`Clob`value is reached while writing the given string, then the length of the`Clob`value will be increased to accomodate the extra characters. **Note:** If the value specified for`pos`is greater then the length+1 of the`CLOB`value then the behavior is undefined. Some JDBC drivers may throw a`SQLException`while other drivers may support this operation. <br />                                                                                                                                                                                                               | | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)                 | [setString](https://developer.android.com/reference/kotlin/java/sql/Clob#setString(kotlin.Long,%20kotlin.String,%20kotlin.Int,%20kotlin.Int))`(`pos:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `str:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `offset:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `len:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` <br /> Writes`len`characters of`str`, starting at character`offset`, to the`CLOB`value that this`Clob`represents. The string will overwrite the existing characters in the`Clob`object starting at the position`pos`. If the end of the`Clob`value is reached while writing the given string, then the length of the`Clob`value will be increased to accomodate the extra characters. **Note:** If the value specified for`pos`is greater then the length+1 of the`CLOB`value then the behavior is undefined. Some JDBC drivers may throw a`SQLException`while other drivers may support this operation. <br /> | | [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)               | [truncate](https://developer.android.com/reference/kotlin/java/sql/Clob#truncate(kotlin.Long))`(`len:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` <br /> Truncates the`CLOB`value that this`Clob`designates to have a length of`len`characters. **Note:** If the value specified for`pos`is greater then the length+1 of the`CLOB`value then the behavior is undefined. Some JDBC drivers may throw a`SQLException`while other drivers may support this operation. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | ||