求大神帮忙,数据‘213456’ 存入数据类型为varchar(5000)字段最后检索数据发现只有2,后部分数据没有了
------解决思路----------------------
没问题啊,你怎么存得?
create table test
(a varchar(5000))
insert into test values('213456')
select * from test
/*
a
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
213456
*/
------解决思路----------------------
我来猜测一下,楼主是定义一个变量,类型为varchar,但是没有定义长度。接着给变量赋值为‘213456’,把变量初入表。然后就发现插入的数据是2了,对吗?比如下面这样:
declare @a varchar
set @a='213456'
select @a
-------------
2
------解决思路----------------------
直接插入肯定是不可能有问题的。如果要用变量来处理的话,字符串变量的长度一定要指定,并且最好要与准备插入的字段的长度一致,否则很可能会造成截断问题