Согласно стандарту SQL, разница заключается в обработке конечных пробелов в столбцах CHAR. Пример:
create table t1 ( c10 char(10) );
insert into t1 values ('davyjones');
select * from t1 where c10 = 'davyjones';
-- yields 1 row
select * from t1 where c10 like 'davyjones';
-- yields 0 rows
Конечно, при условии, что вы запускаете это на стандартной СУБД. Кстати, это одно из основных различий между CHAR и VARCHAR.