SQL2008超级大BUG 表字段是Varchar(15)的,但是插入值'K30400'提示,将截断字符串或二进制数据,去掉后面一个0就能插入记录不知道什么原因,求解!补丁也已经打了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有这BUG? LZ搞错了吧? 是其他字段导致的吧????? 不会吧。create table #t(value varchar(15))goinsert #tselect 'K30400'(1 行受影响)--没任何问题,应该是你哪儿搞错了 我手工在表里填的,还提示这个以下的字段都是varchar(15)INSERT INTO T_BOARDPAPER (F_BOARDID,F_SEQ,F_PAPERID,F_FLUTEID) select 'B1111002S013-AF','7','K30400','-' 但是select 'B1111002S013-AF','1','K30400','-' 是可以的,有点晕呀 我刚才试了一下,没遇到楼主所说的BUG呀。 你可能需要rebuild一下这个表:alter table T_BOARDPAPER rebuild 真有这情况就是bug,但不是这么容易暴露的,否则微软早倒闭了,估计是和其他问题合在一起才能出现这现象。 估计是把unicode的字符串保存到varchar(15)了nvarchar(15)应该就可以了 你是直接select 字段的么?还是从别的表中取列值?如果是别的表中取列值的话,很可能是两个列的定义不相同。 新手求助 mssql 中的select取值如何对该值做多重判断? 多个数据库协同工作的问题 SQL无法安装? 请教分区表的问题 为什么数类型冲突: date 与 tinyint 不兼容 请问如何提高查询效率 关于使用WEB助手向导生成html页面的问题? DBCC CHECKDB的错误 如何查询某年某月的记录? 关于项目上线前的数据清洗,请各位过来看看,或许对你也有用哦 如何查询表中某条记录的插入,及更新时间?
value varchar(15)
)
go
insert #t
select 'K30400'(1 行受影响)--没任何问题,应该是你哪儿搞错了
以下的字段都是varchar(15)
INSERT INTO T_BOARDPAPER (F_BOARDID,F_SEQ,F_PAPERID,F_FLUTEID)
select 'B1111002S013-AF','7','K30400','-'
nvarchar(15)应该就可以了