Salut,
am o tabela creata astfel:
CREATE TABLE [dbo].[Test](
[id] [int] IDENTITY(1,1) NOT NULL,
[nume] [nchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[prenume] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Inserez in tabela:
insert into Test (nume, prenume) values ('Popescu', 'Ana')
Caut:
select nume, prenume from test where nume='Popescu '
select nume, prenume from test where prenume='Ana '
Remarcati spatiul de la sfarsitul stringurilor, inainte de apostroful de inchidere.
Rezultat: de fiecare data imi returneaza inregistrarea inserata, chiar daca valorile puse intial sunt fara spatii la sfarsit; treaba se intampla atat pentru nchar cat si pentru nvarchar. De ce? Operatorul egal face cumva si trimming, automat? Care e explicatia? S-ar putea sa fie si un raspuns de tipul RTFM, dar dati o referinta :)
Lucian