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