Dann Corbit wrote:
-----Original Message-----
From: Tom Lane [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 20, 2005 2:54 PM
To: Dann Corbit
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; pgsql-
[EMAIL PROTECTED]
Subject: Re: [GENERAL] [HACKERS] 'a' == 'a '
"Dann Corbit" <[EMAIL PROTECTED]> writes:
I guess that additional ambiguity arises if you add additional
spaces to
the end. Many database systems solve this by trimming the
characters
from the end of the string upon storage and the returned string will
not
have any trailing blanks.
Can you document that? ISTM that that would effectively make char(n)
and varchar(n) exactly equivalent, which is ... um ... a bit stupid.
This is SQL*Server:
drop table test_char
go
create table test_char(
fixed_30 char(30),
varch_30 varchar(30),
nchar_30 nchar(30),
nvarc_30 nvarchar(30)
)
go
insert into test_char values('Dann ', 'Dann ', 'Dann ', 'Dann ')
go
select len(fixed_30), len(varch_30), len(nchar_30), len(nvarc_30)
from test_char
go
Result set:
4 4 4 4
Yech.
What does one do in such a system if you want trailing blanks to be
significant, or even kept?
Anyway, the consensus seems to be that Postgresql's behavious is
consistent with a reasonable reading of the standard, so is there
anything really left to discuss, other than a possible addition to
documentation?
cheers
andrew
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend