Look back in the stack and you will find that I have quoted chapter and verse (see the attached html file in a previous email that I sent). This is in relation to the comparison operator. > -----Original Message----- > From: John D. Burger [mailto:john@xxxxxxxxx] > Sent: Thursday, October 20, 2005 12:53 PM > To: Dann Corbit > Cc: <pgsql-hackers@xxxxxxxxxxxxxx>; pgsql-general General > Subject: Re: [HACKERS] 'a' == 'a ' > > [Removed all the non-list addresses] > > Dann Corbit wrote: > > > Let me make something clear: > > When we are talking about padding here it is only in the context of a > > comparison operator and NOT having anything to do with storage. > > > > Given two strings of different in a comparison, most database systems > > (by default) will blank pad the shorter string so that they are the > > same > > length before performing the comparison. > > > > Hence, you will see that 'Danniel' = 'Danniel ' is true in most cases. > > > > Now, this really does not have any connection with storage or varchar > > or > > bpchar or char or text or anything like that. > > Is this really true??? My understanding of the spec was that this was > =exactly= the difference between char(N) and varchar(N) - the former is > padded to length N when you store it, or at least the DB has to act as > if this is the case. Can someone quote the appropriate chapter and > verse? Again, the operations that I was talking about literally have nothing to do with the internal data type of the string, as long as it is fundamentally a character type. I was referring to what happens when two strings are involved in a comparison operation. The standard spells it out very clearly. Whether something is blank padded or not during a comparison has nothing whatever to do with the type of the string and everything to do with the collating sequence. > Thanks. > > - John D. Burger > MITRE ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster