sql server 2005:值截断
问题描述:
我的表中包含一个大小为Varchar(70)的字段密码。但是,当我输入大小为40的密码的哈希值时,最后几个字符被截断。我正在使用SQL SERVER 2005.为什么这样?sql server 2005:值截断
答
我已经看到了这个问题的唯一时间是当你施放为varchar没有一个指定的长度
运行以下命令:
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只会是30个字符长,其余的将是什么的长度设置为。
你能提供示例代码和有问题的列的CREATE语句吗? – 2009-04-26 11:14:43