# VARCHAR data type

VARCHAR provides for variable-length storage of strings.

## Syntax

    { VARCHAR | CHAR VARYING | CHARACTER VARYING }(length)

length is an unsigned integer constant. The maximum length for a VARCHAR string is 32,672 characters.

## Corresponding compile-time Java type

java.lang.String

## JDBC metadata type (java.sql.Types)

VARCHAR

Derby does not pad a VARCHAR value whose length is less than specified. Derby truncates spaces from a string value when a length greater than the VARCHAR expected is provided. Characters other than spaces are not truncated, and instead cause an exception to be raised. When comparison boolean operators are applied to VARCHARs, the lengths of the operands are not altered, and spaces at the end of the values are ignored.

When CHARs and VARCHARs are mixed in expressions, the shorter value is padded with spaces to the length of the longer value.

The type of a string constant is CHAR, not VARCHAR.

If you use a VARCHAR as a key column of an index, limit the maximum size of the VARCHAR to no more than half the page size to prevent inserts from failing. See "Page size and key size" in CREATE INDEX statement for details.

Parent topic: Data types