Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > OK, I understand now. It is tempting to think that the difference
> > between char() and varchar() is that internally they use a different
> > collating sequences, but that isn't the case. If it were, space would
> > be ignored during comparisons any place in the string, when in fact, is
> > it is only trailing space that char() ignores, e.g.:
>
> No, you don't understand. The standard defines PAD SPACE as making
> *trailing* spaces irrelevant to comparisons, not embedded or leading
> spaces. And they regard PAD SPACE as an attribute of a collation rather
> than of the string datatype. This seems pretty wacko to me (in
> particular it's hard to see how NO PAD is useful with char(N) storage)
> but that's what they did.
So you can have two collating sequences where in one trailing space is
significant, and another that isn't? Strange.
> > What additional documentation is needed?
>
> Some specific discussion of the relationship to the standard would be
> helpful, perhaps.
I guess, but explaining it seems pretty complex in itself, and I am
unsure what value it adds.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073