从char中将数据插入varchar

时间:2014-04-25 05:58:56

标签: sql-server-2008

我想从表2中的char column2向表1中的varchar column1插入一个值。我可以使用什么SQL查询?感谢。

我使用此查询时遇到错误:

insert into Table1 (Column1 ,Column2)
select Table2.Column1, Table2.Column2
from Table2.
  

字符串或二进制数据将被截断。

1 个答案:

答案 0 :(得分:1)

char列始终占用所有可用空间。如果数据短于指定的长度,则将用空格填充。

如果您确定所有数据实际上都足够短,以适应新的较小的列,请使用RTRIM删除不需要的填充:

insert into Table1 (Column1 ,Column2)
select RTRIM(Table2.Column1), RTRIM(Table2.Column2)
from Table2

(不确定哪些列实际上需要RTRIM,因为您的叙述是将Column2Table2插入Column1 Table1,但那是不是这个查询的作用)