我有两张表tb1
和tb2
。 tb1
的数据类型为c1
的列varchar(15)
,tb2
是使用SQL Server中的导入/导出从Excel文件创建的,其数据类型为c2
列nvarchar(255)
。所有数据都是数字,数字范围从5到12.我想使用c1
中的值更新c2
中的数据,但在通过查询更新时,我收到错误:
字符串或二进制数据将被截断
如何使用c1
?
c2
的数据
答案 0 :(得分:1)
c2中的值可能有尾随空格。使用trim函数删除空格。 您的更新应该是这样的:
update tb1
set c1 = LTRIM(rtrim(tb2.c2))
from tb1
join tb2 on tb1.id=tb2.id
答案 1 :(得分:-1)
您的字段不足以容纳您的数据。 你不能把长度为255个字符的东西放到15个字符长的东西上。
您需要将(c1)增加到至少varchar(255)