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


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to