char
varchar
varchar2
Я понимаю, что varchar2(10) будет динамически выделять пространство до 10 байтов.char(10) выделит 10 байтов в начале и заполнит его ненужным, если фактическая длина данных меньше.
varchar2(10)
char(10)
Если это правильно, что делает varchar(10)?
varchar(10)
Все это достаточно подробно описано в документации Oracle .
Я думаю, это объясняет это напрямую http://www.orafaq.com/faq/what_is_the_difference_between_varchar_varchar2_and_char_data_types