When you insert a character value into a CHAR database column, Oracle does not strip trailing blanks. If the value is shorter than the defined width of the column, Oracle blank-pads the value to the defined width. As a result, information about trailing blanks is lost. If the character value is longer than the defined width of the column, Oracle aborts the insert and generates an error. If the value is shorter than the defined width of the column, Oracle does not blank-pad the value.
Character values are stored intact, so no information is lost.
If the character value is longer than the defined width of the column, Oracle aborts the insert and generates an error. The same rules apply when updating. As a result, information about trailing blanks is lost. Character values are stored intact, so no information is lost. The same rules apply when fetching.