Welcome to Sign in | Help

Comportament varchar/char

  •  01-09-2007, 8:35 AM

    Comportament varchar/char

    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 

     

    Filed under:
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems