> This inconsistency bothers me: I've always thought that char(),
> varchar(), and text() are functionally interchangeable, but it seems
> that's not so. Is this behavior mandated by SQL92?
Yes, the behavior is correct, and mandated by SQL92.
A char would not be able to hold the information of how many trailing blanks
are user data, since it fills the column with trailing blanks.
Andreas