Podle SQL 92 dokumentace, když jsou dva řetězce porovnávány, jsou nejprve srovnané v délce vyplněním nejkratšího řetězce mezerami.
Vyhledejte 8.2 <comparison predicate>
v dokumentu.
If the length in characters of X is not equal to the length
in characters of Y, then the shorter string is effectively
replaced, for the purposes of comparison, with a copy of
itself that has been extended to the length of the longer
string by concatenation on the right of one or more pad char-
acters, where the pad character is chosen based on CS. If
CS has the NO PAD attribute, then the pad character is an
implementation-dependent character different from any char-
acter in the character set of X and Y that collates less
than any string under CS. Otherwise, the pad character is a
<space>.
Tedy jinými slovy. Nejde o uložení hodnoty s množstvím mezer, které jste zadali, ale o porovnání, které dělá při kontrole duplicitního primárního klíče. Nemůžete tedy mít dva řetězce s různým počtem mezer, které fungují jako primární klíč