Thread: Re: [GENERAL] 'a' == 'a '

Re: [GENERAL] 'a' == 'a '

From
"Kevin Grittner"
Date:
I wonder how widespread the MicroSoft behavior is  Sybase ASE,
for example, gives this result set:

30          5           30          5          

That seems more appropriate to me.

-Kevin


> "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