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

Reply via email to