2009-04-26 7 views
-1

Ma table contient un mot de passe dont la taille est Varchar (70). Mais quand j'entre la valeur de hachage du mot de passe qui est de taille 40, les derniers caractères sont tronqués. J'utilise SQL SERVER 2005. Pourquoi est-ce le cas?SQL Server 2005: Troncation de valeur

+0

Pourriez-vous fournir un exemple de code et l'instruction CREATE avec la colonne en question? –

+0

Il serait utile de savoir quel pilote de base de données vous utilisez pour vous connecter à SQL Server. –

+0

Montrez-nous du code! –

Répondre

1

La seule fois que je l'ai vu est quand vous lancez à varchar sans spécifier une longueur

Exécuter ceci:

declare @test varchar(70) 

set @test = '1111111111222222222233333333334444444444555555555566666666667777777777' 
select @test 

select 
    cast(@test as varchar) as CastedWithoutLength, 
    cast(@test as varchar(40)) as CastedWith40Length, 
    cast(@test as varchar(70)) as CastedWith70Length 

CastedWithoutLength ne sera 30 caractères, le reste sera quel que soit le la longueur était définie sur.