50相当于50byte,是按字节计数,50char是按字符计数。对于多字节字符(如汉字),varchar2(50)仅能存储25个汉字,而varchar2(50char)能存储50个汉字。
char是定长,比如说:var char(10);var := 'abcd';那么var 赋值后是'abcd '。后面自动补6个空格。varchar2是变长,赋值后的值不自动补空格。