VARCHAR2 Datatypes
The VARCHAR2 datatype stores variable-length character strings. When
you create a table with a VARCHAR2 column, you specify a maximum string
length (in bytes, not characters) between 1 and 4000 for the VARCHAR2
column. For each row, Oracle stores each value in the column as a
variable-length field unless a value exceeds the column's maximum length, in
which case Oracle returns an error.
For example, assume you declare a column VARCHAR2 with a maximum size
of 50 characters. In a single-byte character set, if only 10 characters are
given for the VARCHAR2 column value in a particular row, the column in the
row's row piece stores only the 10 characters (10 bytes), not 50.
VARCHAR Datatype
The VARCHAR datatype is currently synonymous with the VARCHAR2 datatype.
However, in a future version of Oracle, VARCHAR might store variable-length
character strings compared with different comparison semantics. Therefore,
to avoid possible changes in behavior you should always use the VARCHAR2
datatype to store variable-length character strings.