Sometimes it makes sense to
put certain kinds of data in a char column. For example, a state abbreviation
which is always two characters. Straight out of the Oracle Application
Developer's Guide is this advice
concerning varchar2 vs. char:
Oracle uses different semantics to compare values of each datatype. You might choose one datatype over the other if your application is sensitive to the differences between these semantics. For example, if you want Oracle to ignore trailing blanks when comparing character values, you must store these values in CHAR columns.
So, note that for CHAR columns,
Oracle will IGNORE trailing blanks in comparisons.