从另一个表中插入表中,不包括列

时间:2012-05-14 11:53:59

标签: sql-server-2005

我有一个表t1(id int(5),recordnum varchar(10),claimnum float)和 表t2(id int(5),recordnum varchar(10),Docnum varchar(max)。

我将t2数据插入t1,如下所示

insert into t1(id, recordnum, claimnum) 
select id,recordnum,Docnum

此语句完美执行,直到我在Docnum中拥有所有数字。 我的问题是我有几个专栏,如Docnum ='0067576A887',它们没有插入并给我一个问题。

我有什么方法可以排除这个列并继续插入其他列

2 个答案:

答案 0 :(得分:0)

insert into t1(id, recordnum, claimnum) 
select id,recordnum, Docnum  where Isnumeric(docnum)=1

P.S。小心使用isnumeric

在特殊情况下,它具有不可预测的结果。 最好的解决方案是使用具有int或float .TryParse函数的CLR函数...

但我认为这样会好的。

答案 1 :(得分:0)

是的,请从select

中删除它
insert into t1(id, recordnum, claimnum) 
select id,recordnum,Docnum
where Docnum <> '0067576A887'