Re: [GENERAL] 'a' == 'a '
От | Andrew Dunstan |
---|---|
Тема | Re: [GENERAL] 'a' == 'a ' |
Дата | |
Msg-id | 435855AD.6060207@dunslane.net обсуждение исходный текст |
Ответ на | Re: [GENERAL] 'a' == 'a ' ("Dann Corbit" <DCorbit@connx.com>) |
Список | pgsql-hackers |
Dann Corbit wrote: >>-----Original Message----- >>From: Tom Lane [mailto:tgl@sss.pgh.pa.us] >>Sent: Thursday, October 20, 2005 2:54 PM >>To: Dann Corbit >>Cc: Richard_D_Levine@raytheon.com; general@postgresql.org; pgsql- >>hackers@postgresql.org >>Subject: Re: [GENERAL] [HACKERS] 'a' == 'a ' >> >>"Dann Corbit" <DCorbit@connx.com> 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
В списке pgsql-hackers по дате отправления: