Memory allocation differences between the CHAR and VARCHAR2 datatypes
SQL>
SQL> DECLARE
2 c CHAR(32767) := ' ';
3 v VARCHAR2(32767) := ' ';
4 BEGIN
5 dbms_output.put_line('c is ['||LENGTH(c)||']');
6 dbms_output.put_line('v is ['||LENGTH(v)||']');
7 v := v || ' ';
8 dbms_output.put_line('v is ['||LENGTH(v)||']'); END;
9 /
c is [32767]
v is [1]
v is [2]
PL/SQL procedure successfully completed.
SQL>